| Index: vm/code_generator_x64.h
|
| ===================================================================
|
| --- vm/code_generator_x64.h (revision 5572)
|
| +++ vm/code_generator_x64.h (working copy)
|
| @@ -20,7 +20,9 @@
|
| class Assembler;
|
| class AstNode;
|
| class CodeGenerator;
|
| +class DescriptorList;
|
| class SourceLabel;
|
| +class StackmapBuilder;
|
|
|
|
|
| class CodeGeneratorState : public StackResource {
|
| @@ -64,9 +66,6 @@
|
|
|
| class CodeGenerator : public AstNodeVisitor {
|
| public:
|
| - // Forward declarations.
|
| - class DescriptorList;
|
| -
|
| CodeGenerator(Assembler* assembler, const ParsedFunction& parsed_function);
|
| virtual ~CodeGenerator() { }
|
|
|
| @@ -78,9 +77,6 @@
|
| void GenerateCode();
|
| virtual void GenerateDeferredCode();
|
|
|
| - // Add local variable descriptors to code.
|
| - void FinalizeVarDescriptors(const Code& code);
|
| -
|
| #define DEFINE_VISITOR_FUNCTION(type, name) \
|
| virtual void Visit##type(type* node);
|
| NODE_LIST(DEFINE_VISITOR_FUNCTION)
|
| @@ -95,6 +91,12 @@
|
| // Add pc descriptors to code.
|
| void FinalizePcDescriptors(const Code& code);
|
|
|
| + // Add stack maps to code.
|
| + void FinalizeStackmaps(const Code& code);
|
| +
|
| + // Add local variable descriptors to code.
|
| + void FinalizeVarDescriptors(const Code& code);
|
| +
|
| // Allocate and return an arguments descriptor.
|
| // Let 'num_names' be the length of 'optional_arguments_names'.
|
| // Treat the first 'num_arguments - num_names' arguments as positional and
|
| @@ -213,6 +215,7 @@
|
| intptr_t locals_space_size_;
|
| CodeGeneratorState* state_;
|
| DescriptorList* pc_descriptors_list_;
|
| + StackmapBuilder* stackmap_builder_;
|
| HandlerList* exception_handlers_list_;
|
| int try_index_;
|
| // The runtime context level is only incremented when a new context is
|
|
|