OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_INTERPRETER_BYTECODE_GENERATOR_H_ | 5 #ifndef V8_INTERPRETER_BYTECODE_GENERATOR_H_ |
6 #define V8_INTERPRETER_BYTECODE_GENERATOR_H_ | 6 #define V8_INTERPRETER_BYTECODE_GENERATOR_H_ |
7 | 7 |
8 #include "src/ast/ast.h" | 8 #include "src/ast/ast.h" |
9 #include "src/interpreter/bytecode-array-builder.h" | 9 #include "src/interpreter/bytecode-array-builder.h" |
10 #include "src/interpreter/bytecodes.h" | 10 #include "src/interpreter/bytecodes.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 // Visiting function for declarations list and statements are overridden. | 26 // Visiting function for declarations list and statements are overridden. |
27 void VisitDeclarations(ZoneList<Declaration*>* declarations) override; | 27 void VisitDeclarations(ZoneList<Declaration*>* declarations) override; |
28 void VisitStatements(ZoneList<Statement*>* statments) override; | 28 void VisitStatements(ZoneList<Statement*>* statments) override; |
29 | 29 |
30 private: | 30 private: |
31 class ContextScope; | 31 class ContextScope; |
32 class ControlScope; | 32 class ControlScope; |
33 class ControlScopeForBreakable; | 33 class ControlScopeForBreakable; |
34 class ControlScopeForIteration; | 34 class ControlScopeForIteration; |
| 35 class ControlScopeForTopLevel; |
| 36 class ControlScopeForTryCatch; |
| 37 class ControlScopeForTryFinally; |
35 class ExpressionResultScope; | 38 class ExpressionResultScope; |
36 class EffectResultScope; | 39 class EffectResultScope; |
37 class AccumulatorResultScope; | 40 class AccumulatorResultScope; |
38 class RegisterResultScope; | 41 class RegisterResultScope; |
39 class RegisterAllocationScope; | 42 class RegisterAllocationScope; |
40 | 43 |
41 void MakeBytecodeBody(); | 44 void MakeBytecodeBody(); |
42 Register NextContextRegister() const; | 45 Register NextContextRegister() const; |
43 | 46 |
44 DEFINE_AST_VISITOR_SUBCLASS_MEMBERS(); | 47 DEFINE_AST_VISITOR_SUBCLASS_MEMBERS(); |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 ContextScope* execution_context_; | 151 ContextScope* execution_context_; |
149 ExpressionResultScope* execution_result_; | 152 ExpressionResultScope* execution_result_; |
150 RegisterAllocationScope* register_allocator_; | 153 RegisterAllocationScope* register_allocator_; |
151 }; | 154 }; |
152 | 155 |
153 } // namespace interpreter | 156 } // namespace interpreter |
154 } // namespace internal | 157 } // namespace internal |
155 } // namespace v8 | 158 } // namespace v8 |
156 | 159 |
157 #endif // V8_INTERPRETER_BYTECODE_GENERATOR_H_ | 160 #endif // V8_INTERPRETER_BYTECODE_GENERATOR_H_ |
OLD | NEW |