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/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 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 | 257 |
258 // Builders to create local function, script and block contexts. | 258 // Builders to create local function, script and block contexts. |
259 Node* BuildLocalActivationContext(Node* context); | 259 Node* BuildLocalActivationContext(Node* context); |
260 Node* BuildLocalFunctionContext(Scope* scope); | 260 Node* BuildLocalFunctionContext(Scope* scope); |
261 Node* BuildLocalScriptContext(Scope* scope); | 261 Node* BuildLocalScriptContext(Scope* scope); |
262 Node* BuildLocalBlockContext(Scope* scope); | 262 Node* BuildLocalBlockContext(Scope* scope); |
263 | 263 |
264 // Builder to create an arguments object if it is used. | 264 // Builder to create an arguments object if it is used. |
265 Node* BuildArgumentsObject(Variable* arguments); | 265 Node* BuildArgumentsObject(Variable* arguments); |
266 | 266 |
| 267 // Builder to create an array of rest parameters if used |
| 268 Node* BuildRestArgumentsArray(Variable* rest, int index); |
| 269 |
267 // Builder that assigns to the {.this_function} internal variable if needed. | 270 // Builder that assigns to the {.this_function} internal variable if needed. |
268 Node* BuildThisFunctionVariable(Variable* this_function_var); | 271 Node* BuildThisFunctionVariable(Variable* this_function_var); |
269 | 272 |
270 // Builder that assigns to the {new.target} internal variable if needed. | 273 // Builder that assigns to the {new.target} internal variable if needed. |
271 Node* BuildNewTargetVariable(Variable* new_target_var); | 274 Node* BuildNewTargetVariable(Variable* new_target_var); |
272 | 275 |
273 // Builders for variable load and assignment. | 276 // Builders for variable load and assignment. |
274 Node* BuildVariableAssignment(Variable* variable, Node* value, | 277 Node* BuildVariableAssignment(Variable* variable, Node* value, |
275 Token::Value op, const VectorSlotPair& slot, | 278 Token::Value op, const VectorSlotPair& slot, |
276 BailoutId bailout_id, | 279 BailoutId bailout_id, |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 | 584 |
582 // Prepare environment to be used as loop header. | 585 // Prepare environment to be used as loop header. |
583 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 586 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
584 }; | 587 }; |
585 | 588 |
586 } // namespace compiler | 589 } // namespace compiler |
587 } // namespace internal | 590 } // namespace internal |
588 } // namespace v8 | 591 } // namespace v8 |
589 | 592 |
590 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 593 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |