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.h" | 8 #include "src/ast.h" |
9 #include "src/compiler/js-graph.h" | 9 #include "src/compiler/js-graph.h" |
10 #include "src/compiler/liveness-analyzer.h" | 10 #include "src/compiler/liveness-analyzer.h" |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 Node* BuildLocalFunctionContext(Node* context); | 258 Node* BuildLocalFunctionContext(Node* context); |
259 Node* BuildLocalScriptContext(Scope* scope); | 259 Node* BuildLocalScriptContext(Scope* scope); |
260 Node* BuildLocalBlockContext(Scope* scope); | 260 Node* BuildLocalBlockContext(Scope* scope); |
261 | 261 |
262 // Builder to create an arguments object if it is used. | 262 // Builder to create an arguments object if it is used. |
263 Node* BuildArgumentsObject(Variable* arguments); | 263 Node* BuildArgumentsObject(Variable* arguments); |
264 | 264 |
265 // Builder to create an array of rest parameters if used | 265 // Builder to create an array of rest parameters if used |
266 Node* BuildRestArgumentsArray(Variable* rest, int index); | 266 Node* BuildRestArgumentsArray(Variable* rest, int index); |
267 | 267 |
268 // Builder that assigns to the .this_function internal variable if needed. | 268 // Builder that assigns to the {.this_function} internal variable if needed. |
269 Node* BuildThisFunctionVar(Variable* this_function_var); | 269 Node* BuildThisFunctionVariable(Variable* this_function_var); |
| 270 |
| 271 // Builder that assigns to the {new.target} internal variable if needed. |
| 272 Node* BuildNewTargetVariable(Variable* new_target_var); |
270 | 273 |
271 // Builders for variable load and assignment. | 274 // Builders for variable load and assignment. |
272 Node* BuildVariableAssignment(Variable* variable, Node* value, | 275 Node* BuildVariableAssignment(Variable* variable, Node* value, |
273 Token::Value op, const VectorSlotPair& slot, | 276 Token::Value op, const VectorSlotPair& slot, |
274 BailoutId bailout_id, | 277 BailoutId bailout_id, |
275 FrameStateBeforeAndAfter& states, | 278 FrameStateBeforeAndAfter& states, |
276 OutputFrameStateCombine framestate_combine = | 279 OutputFrameStateCombine framestate_combine = |
277 OutputFrameStateCombine::Ignore()); | 280 OutputFrameStateCombine::Ignore()); |
278 Node* BuildVariableDelete(Variable* variable, BailoutId bailout_id, | 281 Node* BuildVariableDelete(Variable* variable, BailoutId bailout_id, |
279 OutputFrameStateCombine framestate_combine); | 282 OutputFrameStateCombine framestate_combine); |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 | 552 |
550 // Prepare environment to be used as loop header. | 553 // Prepare environment to be used as loop header. |
551 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 554 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
552 }; | 555 }; |
553 | 556 |
554 } // namespace compiler | 557 } // namespace compiler |
555 } // namespace internal | 558 } // namespace internal |
556 } // namespace v8 | 559 } // namespace v8 |
557 | 560 |
558 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 561 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |