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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 Node* BuildLocalScriptContext(Scope* scope); | 248 Node* BuildLocalScriptContext(Scope* scope); |
249 Node* BuildLocalBlockContext(Scope* scope); | 249 Node* BuildLocalBlockContext(Scope* scope); |
250 | 250 |
251 // Builder to create an arguments object if it is used. | 251 // Builder to create an arguments object if it is used. |
252 Node* BuildArgumentsObject(Variable* arguments); | 252 Node* BuildArgumentsObject(Variable* arguments); |
253 | 253 |
254 // Builder to create an array of rest parameters if used | 254 // Builder to create an array of rest parameters if used |
255 Node* BuildRestArgumentsArray(Variable* rest, int index); | 255 Node* BuildRestArgumentsArray(Variable* rest, int index); |
256 | 256 |
257 // Builders for variable load and assignment. | 257 // Builders for variable load and assignment. |
258 Node* BuildVariableAssignment(Variable* var, Node* value, Token::Value op, | 258 Node* BuildVariableAssignment( |
259 BailoutId bailout_id, | 259 FrameStateBeforeAndAfter& states, Variable* var, Node* value, |
260 OutputFrameStateCombine state_combine = | 260 Token::Value op, BailoutId bailout_id, |
261 OutputFrameStateCombine::Ignore()); | 261 OutputFrameStateCombine combine = OutputFrameStateCombine::Ignore()); |
262 Node* BuildVariableDelete(Variable* var, BailoutId bailout_id, | 262 Node* BuildVariableDelete(Variable* var, BailoutId bailout_id, |
263 OutputFrameStateCombine state_combine); | 263 OutputFrameStateCombine combine); |
264 Node* BuildVariableLoad(Variable* var, BailoutId bailout_id, | 264 Node* BuildVariableLoad(FrameStateBeforeAndAfter& states, Variable* var, |
265 const VectorSlotPair& feedback, | 265 BailoutId bailout_id, const VectorSlotPair& feedback, |
| 266 OutputFrameStateCombine combine, |
266 ContextualMode mode = CONTEXTUAL); | 267 ContextualMode mode = CONTEXTUAL); |
267 | 268 |
268 // Builders for property loads and stores. | 269 // Builders for property loads and stores. |
269 Node* BuildKeyedLoad(Node* receiver, Node* key, | 270 Node* BuildKeyedLoad(Node* receiver, Node* key, |
270 const VectorSlotPair& feedback, TypeFeedbackId id); | 271 const VectorSlotPair& feedback, TypeFeedbackId id); |
271 Node* BuildNamedLoad(Node* receiver, Handle<Name> name, | 272 Node* BuildNamedLoad(Node* receiver, Handle<Name> name, |
272 const VectorSlotPair& feedback, TypeFeedbackId id, | 273 const VectorSlotPair& feedback, TypeFeedbackId id, |
273 ContextualMode mode = NOT_CONTEXTUAL); | 274 ContextualMode mode = NOT_CONTEXTUAL); |
274 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, | 275 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, |
275 TypeFeedbackId id); | 276 TypeFeedbackId id); |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 | 511 |
511 // Prepare environment to be used as loop header. | 512 // Prepare environment to be used as loop header. |
512 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 513 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
513 }; | 514 }; |
514 | 515 |
515 } // namespace compiler | 516 } // namespace compiler |
516 } // namespace internal | 517 } // namespace internal |
517 } // namespace v8 | 518 } // namespace v8 |
518 | 519 |
519 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 520 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |