| Index: src/interpreter/bytecode-generator.h
|
| diff --git a/src/interpreter/bytecode-generator.h b/src/interpreter/bytecode-generator.h
|
| index 6ea4cd75aec25f2b5f567929c149c13ad118115c..9f9a2829fa78d624219d371959d7ebfb9fcc9f49 100644
|
| --- a/src/interpreter/bytecode-generator.h
|
| +++ b/src/interpreter/bytecode-generator.h
|
| @@ -33,6 +33,7 @@ class BytecodeGenerator : public AstVisitor {
|
| class ControlScopeForIteration;
|
|
|
| void MakeBytecodeBody();
|
| + Register NextContextRegister() const;
|
|
|
| DEFINE_AST_VISITOR_SUBCLASS_MEMBERS();
|
|
|
| @@ -44,6 +45,9 @@ class BytecodeGenerator : public AstVisitor {
|
| void VisitVariableLoad(Variable* variable, FeedbackVectorSlot slot);
|
| void VisitVariableAssignment(Variable* variable, FeedbackVectorSlot slot);
|
| void VisitNewLocalFunctionContext();
|
| + void VisitBuildLocalActivationContext();
|
| + void VisitNewLocalBlockContext(Scope* scope);
|
| + void VisitFunctionClosureForContext();
|
| void VisitSetHomeObject(Register value, Register home_object,
|
| ObjectLiteralProperty* property, int slot_number = 0);
|
| void VisitObjectLiteralAccessor(Register home_object,
|
| @@ -65,11 +69,13 @@ class BytecodeGenerator : public AstVisitor {
|
| inline CompilationInfo* info() const { return info_; }
|
| inline void set_info(CompilationInfo* info) { info_ = info; }
|
|
|
| - inline ControlScope* control_scope() const { return control_scope_; }
|
| - inline void set_control_scope(ControlScope* scope) { control_scope_ = scope; }
|
| - inline Register current_context() const { return current_context_; }
|
| - inline void set_current_context(Register context) {
|
| - current_context_ = context;
|
| + inline ControlScope* execution_control() const { return execution_control_; }
|
| + inline void set_execution_control(ControlScope* scope) {
|
| + execution_control_ = scope;
|
| + }
|
| + inline ContextScope* execution_context() const { return execution_context_; }
|
| + inline void set_execution_context(ContextScope* context) {
|
| + execution_context_ = context;
|
| }
|
|
|
| ZoneVector<Handle<Object>>* globals() { return &globals_; }
|
| @@ -83,9 +89,8 @@ class BytecodeGenerator : public AstVisitor {
|
| CompilationInfo* info_;
|
| Scope* scope_;
|
| ZoneVector<Handle<Object>> globals_;
|
| - ControlScope* control_scope_;
|
| -
|
| - Register current_context_;
|
| + ControlScope* execution_control_;
|
| + ContextScope* execution_context_;
|
| };
|
|
|
| } // namespace interpreter
|
|
|