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 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 accessing the function context. | 317 // Builders for accessing the function context. |
318 Node* BuildLoadGlobalObject(); | 318 Node* BuildLoadGlobalObject(); |
319 Node* BuildLoadNativeContextField(int index); | 319 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 | 320 |
325 // Builders for automatic type conversion. | 321 // Builders for automatic type conversion. |
326 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id); | 322 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id); |
327 Node* BuildToName(Node* input, BailoutId bailout_id); | 323 Node* BuildToName(Node* input, BailoutId bailout_id); |
328 Node* BuildToObject(Node* input, BailoutId bailout_id); | 324 Node* BuildToObject(Node* input, BailoutId bailout_id); |
329 | 325 |
330 // Builder for adding the [[HomeObject]] to a value if the value came from a | 326 // 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. | 327 // function literal and needs a home object. Do nothing otherwise. |
332 Node* BuildSetHomeObject(Node* value, Node* home_object, | 328 Node* BuildSetHomeObject(Node* value, Node* home_object, |
333 ObjectLiteralProperty* property, | 329 ObjectLiteralProperty* property, |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 | 579 |
584 // Prepare environment to be used as loop header. | 580 // Prepare environment to be used as loop header. |
585 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 581 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
586 }; | 582 }; |
587 | 583 |
588 } // namespace compiler | 584 } // namespace compiler |
589 } // namespace internal | 585 } // namespace internal |
590 } // namespace v8 | 586 } // namespace v8 |
591 | 587 |
592 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 588 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |