OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_COMPILER_AST_GRAPH_BUILDER_H_ | 5 #ifndef V8_COMPILER_AST_GRAPH_BUILDER_H_ |
6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_ | 6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_ |
7 | 7 |
8 #include "src/ast/ast.h" | 8 #include "src/ast/ast.h" |
9 #include "src/compiler/compiler-source-position-table.h" | 9 #include "src/compiler/compiler-source-position-table.h" |
10 #include "src/compiler/js-graph.h" | 10 #include "src/compiler/js-graph.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 | 64 |
65 private: | 65 private: |
66 class AstContext; | 66 class AstContext; |
67 class AstEffectContext; | 67 class AstEffectContext; |
68 class AstValueContext; | 68 class AstValueContext; |
69 class AstTestContext; | 69 class AstTestContext; |
70 class ContextScope; | 70 class ContextScope; |
71 class ControlScope; | 71 class ControlScope; |
72 class ControlScopeForBreakable; | 72 class ControlScopeForBreakable; |
73 class ControlScopeForIteration; | 73 class ControlScopeForIteration; |
74 class ControlScopeForCatch; | |
75 class ControlScopeForFinally; | |
76 class Environment; | 74 class Environment; |
77 friend class ControlBuilder; | 75 friend class ControlBuilder; |
78 | 76 |
79 Isolate* isolate_; | 77 Isolate* isolate_; |
80 Zone* local_zone_; | 78 Zone* local_zone_; |
81 CompilationInfo* info_; | 79 CompilationInfo* info_; |
82 JSGraph* jsgraph_; | 80 JSGraph* jsgraph_; |
83 float const invocation_frequency_; | 81 float const invocation_frequency_; |
84 Environment* environment_; | 82 Environment* environment_; |
85 AstContext* ast_context_; | 83 AstContext* ast_context_; |
86 | 84 |
87 // List of global declarations for functions and variables. | 85 // List of global declarations for functions and variables. |
88 ZoneVector<Handle<Object>> globals_; | 86 ZoneVector<Handle<Object>> globals_; |
89 | 87 |
90 // Stack of control scopes currently entered by the visitor. | 88 // Stack of control scopes currently entered by the visitor. |
91 ControlScope* execution_control_; | 89 ControlScope* execution_control_; |
92 | 90 |
93 // Stack of context objects pushed onto the chain by the visitor. | 91 // Stack of context objects pushed onto the chain by the visitor. |
94 ContextScope* execution_context_; | 92 ContextScope* execution_context_; |
95 | 93 |
96 // Nodes representing values in the activation record. | 94 // Nodes representing values in the activation record. |
97 SetOncePointer<Node> function_closure_; | 95 SetOncePointer<Node> function_closure_; |
98 SetOncePointer<Node> function_context_; | 96 SetOncePointer<Node> function_context_; |
99 SetOncePointer<Node> new_target_; | 97 SetOncePointer<Node> new_target_; |
100 | 98 |
101 // Tracks how many try-blocks are currently entered. | |
102 int try_nesting_level_; | |
103 | |
104 // Temporary storage for building node input lists. | 99 // Temporary storage for building node input lists. |
105 int input_buffer_size_; | 100 int input_buffer_size_; |
106 Node** input_buffer_; | 101 Node** input_buffer_; |
107 | 102 |
108 // Optimization to cache loaded feedback vector. | 103 // Optimization to cache loaded feedback vector. |
109 SetOncePointer<Node> feedback_vector_; | 104 SetOncePointer<Node> feedback_vector_; |
110 | 105 |
111 // Optimization to cache empty frame state. | 106 // Optimization to cache empty frame state. |
112 SetOncePointer<Node> empty_frame_state_; | 107 SetOncePointer<Node> empty_frame_state_; |
113 | 108 |
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
638 private: | 633 private: |
639 SourcePositionTable* const source_positions_; | 634 SourcePositionTable* const source_positions_; |
640 SourcePosition const start_position_; | 635 SourcePosition const start_position_; |
641 }; | 636 }; |
642 | 637 |
643 } // namespace compiler | 638 } // namespace compiler |
644 } // namespace internal | 639 } // namespace internal |
645 } // namespace v8 | 640 } // namespace v8 |
646 | 641 |
647 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 642 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |