| 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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 Node* BuildVariableLoad(Variable* variable, BailoutId bailout_id, | 283 Node* BuildVariableLoad(Variable* variable, BailoutId bailout_id, |
| 284 FrameStateBeforeAndAfter& states, | 284 FrameStateBeforeAndAfter& states, |
| 285 const VectorSlotPair& feedback, | 285 const VectorSlotPair& feedback, |
| 286 OutputFrameStateCombine framestate_combine, | 286 OutputFrameStateCombine framestate_combine, |
| 287 ContextualMode mode = CONTEXTUAL); | 287 ContextualMode mode = CONTEXTUAL); |
| 288 | 288 |
| 289 // Builders for property loads and stores. | 289 // Builders for property loads and stores. |
| 290 Node* BuildKeyedLoad(Node* receiver, Node* key, | 290 Node* BuildKeyedLoad(Node* receiver, Node* key, |
| 291 const VectorSlotPair& feedback); | 291 const VectorSlotPair& feedback); |
| 292 Node* BuildNamedLoad(Node* receiver, Handle<Name> name, | 292 Node* BuildNamedLoad(Node* receiver, Handle<Name> name, |
| 293 const VectorSlotPair& feedback, | 293 const VectorSlotPair& feedback); |
| 294 ContextualMode mode = NOT_CONTEXTUAL); | |
| 295 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, | 294 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, |
| 296 const VectorSlotPair& feedback, TypeFeedbackId id); | 295 const VectorSlotPair& feedback, TypeFeedbackId id); |
| 297 Node* BuildNamedStore(Node* receiver, Handle<Name>, Node* value, | 296 Node* BuildNamedStore(Node* receiver, Handle<Name> name, Node* value, |
| 298 const VectorSlotPair& feedback, TypeFeedbackId id); | 297 const VectorSlotPair& feedback, TypeFeedbackId id); |
| 299 | 298 |
| 300 // Builders for super property loads and stores. | 299 // Builders for super property loads and stores. |
| 301 Node* BuildKeyedSuperStore(Node* receiver, Node* home_object, Node* key, | 300 Node* BuildKeyedSuperStore(Node* receiver, Node* home_object, Node* key, |
| 302 Node* value, TypeFeedbackId id); | 301 Node* value, TypeFeedbackId id); |
| 303 Node* BuildNamedSuperStore(Node* receiver, Node* home_object, | 302 Node* BuildNamedSuperStore(Node* receiver, Node* home_object, |
| 304 Handle<Name> name, Node* value, TypeFeedbackId id); | 303 Handle<Name> name, Node* value, TypeFeedbackId id); |
| 305 Node* BuildNamedSuperLoad(Node* receiver, Node* home_object, | 304 Node* BuildNamedSuperLoad(Node* receiver, Node* home_object, |
| 306 Handle<Name> name, const VectorSlotPair& feedback); | 305 Handle<Name> name, const VectorSlotPair& feedback); |
| 307 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key, | 306 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key, |
| 308 const VectorSlotPair& feedback); | 307 const VectorSlotPair& feedback); |
| 309 | 308 |
| 309 // Builders for global variable loads and stores. |
| 310 Node* BuildGlobalLoad(Node* global, Handle<Name> name, |
| 311 const VectorSlotPair& feedback, ContextualMode mode); |
| 312 Node* BuildGlobalStore(Node* global, Handle<Name> name, Node* value, |
| 313 const VectorSlotPair& feedback, TypeFeedbackId id); |
| 314 |
| 310 // Builders for accessing the function context. | 315 // Builders for accessing the function context. |
| 311 Node* BuildLoadBuiltinsObject(); | 316 Node* BuildLoadBuiltinsObject(); |
| 312 Node* BuildLoadGlobalObject(); | 317 Node* BuildLoadGlobalObject(); |
| 313 Node* BuildLoadGlobalProxy(); | 318 Node* BuildLoadGlobalProxy(); |
| 314 Node* BuildLoadFeedbackVector(); | 319 Node* BuildLoadFeedbackVector(); |
| 315 | 320 |
| 316 // Builder for accessing a (potentially immutable) object field. | 321 // Builder for accessing a (potentially immutable) object field. |
| 317 Node* BuildLoadObjectField(Node* object, int offset); | 322 Node* BuildLoadObjectField(Node* object, int offset); |
| 318 Node* BuildLoadImmutableObjectField(Node* object, int offset); | 323 Node* BuildLoadImmutableObjectField(Node* object, int offset); |
| 319 | 324 |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 | 548 |
| 544 // Prepare environment to be used as loop header. | 549 // Prepare environment to be used as loop header. |
| 545 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 550 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
| 546 }; | 551 }; |
| 547 | 552 |
| 548 } // namespace compiler | 553 } // namespace compiler |
| 549 } // namespace internal | 554 } // namespace internal |
| 550 } // namespace v8 | 555 } // namespace v8 |
| 551 | 556 |
| 552 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 557 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
| OLD | NEW |