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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 | 51 |
52 void set_ast_context(AstContext* ctx) { ast_context_ = ctx; } | 52 void set_ast_context(AstContext* ctx) { ast_context_ = ctx; } |
53 void set_breakable(BreakableScope* brk) { breakable_ = brk; } | 53 void set_breakable(BreakableScope* brk) { breakable_ = brk; } |
54 void set_execution_context(ContextScope* ctx) { execution_context_ = ctx; } | 54 void set_execution_context(ContextScope* ctx) { execution_context_ = ctx; } |
55 | 55 |
56 // Support for control flow builders. The concrete type of the environment | 56 // Support for control flow builders. The concrete type of the environment |
57 // depends on the graph builder, but environments themselves are not virtual. | 57 // depends on the graph builder, but environments themselves are not virtual. |
58 typedef StructuredGraphBuilder::Environment BaseEnvironment; | 58 typedef StructuredGraphBuilder::Environment BaseEnvironment; |
59 virtual BaseEnvironment* CopyEnvironment(BaseEnvironment* env) OVERRIDE; | 59 virtual BaseEnvironment* CopyEnvironment(BaseEnvironment* env) OVERRIDE; |
60 | 60 |
61 // TODO(mstarzinger): The pipeline only needs to be a friend to access the | |
62 // function context. Remove as soon as the context is a parameter. | |
63 friend class Pipeline; | |
64 | |
65 // Getters for values in the activation record. | 61 // Getters for values in the activation record. |
66 Node* GetFunctionClosure(); | 62 Node* GetFunctionClosure(); |
67 Node* GetFunctionContext(); | 63 Node* GetFunctionContext(); |
68 | 64 |
69 // | 65 // |
70 // The following build methods all generate graph fragments and return one | 66 // The following build methods all generate graph fragments and return one |
71 // resulting node. The operand stack height remains the same, variables and | 67 // resulting node. The operand stack height remains the same, variables and |
72 // other dependencies tracked by the environment might be mutated though. | 68 // other dependencies tracked by the environment might be mutated though. |
73 // | 69 // |
74 | 70 |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 | 440 |
445 Scope* AstGraphBuilder::current_scope() const { | 441 Scope* AstGraphBuilder::current_scope() const { |
446 return execution_context_->scope(); | 442 return execution_context_->scope(); |
447 } | 443 } |
448 | 444 |
449 } // namespace compiler | 445 } // namespace compiler |
450 } // namespace internal | 446 } // namespace internal |
451 } // namespace v8 | 447 } // namespace v8 |
452 | 448 |
453 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 449 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |