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 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 Handle<Name> name, const VectorSlotPair& feedback); | 307 Handle<Name> name, const VectorSlotPair& feedback); |
308 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key, | 308 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key, |
309 const VectorSlotPair& feedback); | 309 const VectorSlotPair& feedback); |
310 | 310 |
311 // Builders for global variable loads and stores. | 311 // Builders for global variable loads and stores. |
312 Node* BuildGlobalLoad(Handle<Name> name, const VectorSlotPair& feedback, | 312 Node* BuildGlobalLoad(Handle<Name> name, const VectorSlotPair& feedback, |
313 TypeofMode typeof_mode); | 313 TypeofMode typeof_mode); |
314 Node* BuildGlobalStore(Handle<Name> name, Node* value, | 314 Node* BuildGlobalStore(Handle<Name> name, Node* value, |
315 const VectorSlotPair& feedback); | 315 const VectorSlotPair& feedback); |
316 | 316 |
| 317 // Builders for dynamic variable loads and stores. |
| 318 Node* BuildDynamicLoad(Handle<Name> name, TypeofMode typeof_mode); |
| 319 Node* BuildDynamicStore(Handle<Name> name, Node* value); |
| 320 |
317 // Builders for accessing the function context. | 321 // Builders for accessing the function context. |
318 Node* BuildLoadGlobalObject(); | 322 Node* BuildLoadGlobalObject(); |
319 Node* BuildLoadNativeContextField(int index); | 323 Node* BuildLoadNativeContextField(int index); |
320 Node* BuildLoadFeedbackVector(); | |
321 | |
322 // Builder for accessing a (potentially immutable) object field. | |
323 Node* BuildLoadImmutableObjectField(Node* object, int offset); | |
324 | 324 |
325 // Builders for automatic type conversion. | 325 // Builders for automatic type conversion. |
326 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id); | 326 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id); |
327 Node* BuildToName(Node* input, BailoutId bailout_id); | 327 Node* BuildToName(Node* input, BailoutId bailout_id); |
328 Node* BuildToObject(Node* input, BailoutId bailout_id); | 328 Node* BuildToObject(Node* input, BailoutId bailout_id); |
329 | 329 |
330 // Builder for adding the [[HomeObject]] to a value if the value came from a | 330 // Builder for adding the [[HomeObject]] to a value if the value came from a |
331 // function literal and needs a home object. Do nothing otherwise. | 331 // function literal and needs a home object. Do nothing otherwise. |
332 Node* BuildSetHomeObject(Node* value, Node* home_object, | 332 Node* BuildSetHomeObject(Node* value, Node* home_object, |
333 ObjectLiteralProperty* property, | 333 ObjectLiteralProperty* property, |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 | 583 |
584 // Prepare environment to be used as loop header. | 584 // Prepare environment to be used as loop header. |
585 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 585 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
586 }; | 586 }; |
587 | 587 |
588 } // namespace compiler | 588 } // namespace compiler |
589 } // namespace internal | 589 } // namespace internal |
590 } // namespace v8 | 590 } // namespace v8 |
591 | 591 |
592 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 592 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |