| 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/v8.h" | 8 #include "src/v8.h" | 
| 9 | 9 | 
| 10 #include "src/ast.h" | 10 #include "src/ast.h" | 
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 91   SetOncePointer<Node> function_closure_; | 91   SetOncePointer<Node> function_closure_; | 
| 92   SetOncePointer<Node> function_context_; | 92   SetOncePointer<Node> function_context_; | 
| 93 | 93 | 
| 94   // Temporary storage for building node input lists. | 94   // Temporary storage for building node input lists. | 
| 95   int input_buffer_size_; | 95   int input_buffer_size_; | 
| 96   Node** input_buffer_; | 96   Node** input_buffer_; | 
| 97 | 97 | 
| 98   // Node representing the control dependency for dead code. | 98   // Node representing the control dependency for dead code. | 
| 99   SetOncePointer<Node> dead_control_; | 99   SetOncePointer<Node> dead_control_; | 
| 100 | 100 | 
| 101   // Node representing the current context within the function body. |  | 
| 102   Node* current_context_; |  | 
| 103 |  | 
| 104   // Merge of all control nodes that exit the function body. | 101   // Merge of all control nodes that exit the function body. | 
| 105   Node* exit_control_; | 102   Node* exit_control_; | 
| 106 | 103 | 
| 107   // Result of loop assignment analysis performed before graph creation. | 104   // Result of loop assignment analysis performed before graph creation. | 
| 108   LoopAssignmentAnalysis* loop_assignment_analysis_; | 105   LoopAssignmentAnalysis* loop_assignment_analysis_; | 
| 109 | 106 | 
| 110   // Growth increment for the temporary buffer used to construct input lists to | 107   // Growth increment for the temporary buffer used to construct input lists to | 
| 111   // new nodes. | 108   // new nodes. | 
| 112   static const int kInputBufferSizeIncrement = 64; | 109   static const int kInputBufferSizeIncrement = 64; | 
| 113 | 110 | 
| 114   Zone* local_zone() const { return local_zone_; } | 111   Zone* local_zone() const { return local_zone_; } | 
| 115   Environment* environment() { return environment_; } | 112   Environment* environment() { return environment_; } | 
| 116   AstContext* ast_context() const { return ast_context_; } | 113   AstContext* ast_context() const { return ast_context_; } | 
| 117   ControlScope* execution_control() const { return execution_control_; } | 114   ControlScope* execution_control() const { return execution_control_; } | 
| 118   ContextScope* execution_context() const { return execution_context_; } | 115   ContextScope* execution_context() const { return execution_context_; } | 
| 119   CommonOperatorBuilder* common() const { return jsgraph_->common(); } | 116   CommonOperatorBuilder* common() const { return jsgraph_->common(); } | 
| 120   CompilationInfo* info() const { return info_; } | 117   CompilationInfo* info() const { return info_; } | 
| 121   StrictMode strict_mode() const; | 118   StrictMode strict_mode() const; | 
| 122   JSGraph* jsgraph() { return jsgraph_; } | 119   JSGraph* jsgraph() { return jsgraph_; } | 
| 123   Graph* graph() { return jsgraph_->graph(); } | 120   Graph* graph() { return jsgraph_->graph(); } | 
| 124   Zone* graph_zone() { return graph()->zone(); } | 121   Zone* graph_zone() { return graph()->zone(); } | 
| 125   JSOperatorBuilder* javascript() { return jsgraph_->javascript(); } | 122   JSOperatorBuilder* javascript() { return jsgraph_->javascript(); } | 
| 126   ZoneVector<Handle<Object>>* globals() { return &globals_; } | 123   ZoneVector<Handle<Object>>* globals() { return &globals_; } | 
| 127   Scope* current_scope() const; | 124   Scope* current_scope() const; | 
| 128   Node* current_context() const { return current_context_; } | 125   Node* current_context() const; | 
| 129   Node* dead_control(); | 126   Node* dead_control(); | 
| 130   Node* exit_control() const { return exit_control_; } | 127   Node* exit_control() const { return exit_control_; } | 
| 131 | 128 | 
| 132   void set_environment(Environment* env) { environment_ = env; } | 129   void set_environment(Environment* env) { environment_ = env; } | 
| 133   void set_ast_context(AstContext* ctx) { ast_context_ = ctx; } | 130   void set_ast_context(AstContext* ctx) { ast_context_ = ctx; } | 
| 134   void set_execution_control(ControlScope* ctrl) { execution_control_ = ctrl; } | 131   void set_execution_control(ControlScope* ctrl) { execution_control_ = ctrl; } | 
| 135   void set_execution_context(ContextScope* ctx) { execution_context_ = ctx; } | 132   void set_execution_context(ContextScope* ctx) { execution_context_ = ctx; } | 
| 136   void set_current_context(Node* ctx) { current_context_ = ctx; } |  | 
| 137   void set_exit_control(Node* exit) { exit_control_ = exit; } | 133   void set_exit_control(Node* exit) { exit_control_ = exit; } | 
| 138 | 134 | 
| 139   // Node creation helpers. | 135   // Node creation helpers. | 
| 140   Node* NewNode(const Operator* op, bool incomplete = false) { | 136   Node* NewNode(const Operator* op, bool incomplete = false) { | 
| 141     return MakeNode(op, 0, static_cast<Node**>(NULL), incomplete); | 137     return MakeNode(op, 0, static_cast<Node**>(NULL), incomplete); | 
| 142   } | 138   } | 
| 143 | 139 | 
| 144   Node* NewNode(const Operator* op, Node* n1) { | 140   Node* NewNode(const Operator* op, Node* n1) { | 
| 145     return MakeNode(op, 1, &n1, false); | 141     return MakeNode(op, 1, &n1, false); | 
| 146   } | 142   } | 
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 455 | 451 | 
| 456   // Prepare environment to be used as loop header. | 452   // Prepare environment to be used as loop header. | 
| 457   void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 453   void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 
| 458 }; | 454 }; | 
| 459 | 455 | 
| 460 }  // namespace compiler | 456 }  // namespace compiler | 
| 461 }  // namespace internal | 457 }  // namespace internal | 
| 462 }  // namespace v8 | 458 }  // namespace v8 | 
| 463 | 459 | 
| 464 #endif  // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 460 #endif  // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 
| OLD | NEW | 
|---|