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 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 BailoutId bailout_id, | 277 BailoutId bailout_id, |
278 FrameStateBeforeAndAfter& states, | 278 FrameStateBeforeAndAfter& states, |
279 OutputFrameStateCombine framestate_combine = | 279 OutputFrameStateCombine framestate_combine = |
280 OutputFrameStateCombine::Ignore()); | 280 OutputFrameStateCombine::Ignore()); |
281 Node* BuildVariableDelete(Variable* variable, BailoutId bailout_id, | 281 Node* BuildVariableDelete(Variable* variable, BailoutId bailout_id, |
282 OutputFrameStateCombine framestate_combine); | 282 OutputFrameStateCombine framestate_combine); |
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 TypeofMode typeof_mode = NOT_INSIDE_TYPEOF); |
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 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, | 294 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, |
295 const VectorSlotPair& feedback, TypeFeedbackId id); | 295 const VectorSlotPair& feedback, TypeFeedbackId id); |
296 Node* BuildNamedStore(Node* receiver, Handle<Name> name, Node* value, | 296 Node* BuildNamedStore(Node* receiver, Handle<Name> name, Node* value, |
297 const VectorSlotPair& feedback, TypeFeedbackId id); | 297 const VectorSlotPair& feedback, TypeFeedbackId id); |
298 | 298 |
299 // Builders for super property loads and stores. | 299 // Builders for super property loads and stores. |
300 Node* BuildKeyedSuperStore(Node* receiver, Node* home_object, Node* key, | 300 Node* BuildKeyedSuperStore(Node* receiver, Node* home_object, Node* key, |
301 Node* value, TypeFeedbackId id); | 301 Node* value, TypeFeedbackId id); |
302 Node* BuildNamedSuperStore(Node* receiver, Node* home_object, | 302 Node* BuildNamedSuperStore(Node* receiver, Node* home_object, |
303 Handle<Name> name, Node* value, TypeFeedbackId id); | 303 Handle<Name> name, Node* value, TypeFeedbackId id); |
304 Node* BuildNamedSuperLoad(Node* receiver, Node* home_object, | 304 Node* BuildNamedSuperLoad(Node* receiver, Node* home_object, |
305 Handle<Name> name, const VectorSlotPair& feedback); | 305 Handle<Name> name, const VectorSlotPair& feedback); |
306 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key, | 306 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key, |
307 const VectorSlotPair& feedback); | 307 const VectorSlotPair& feedback); |
308 | 308 |
309 // Builders for global variable loads and stores. | 309 // Builders for global variable loads and stores. |
310 Node* BuildGlobalLoad(Node* global, Handle<Name> name, | 310 Node* BuildGlobalLoad(Node* global, Handle<Name> name, |
311 const VectorSlotPair& feedback, ContextualMode mode); | 311 const VectorSlotPair& feedback, TypeofMode typeof_mode); |
312 Node* BuildGlobalStore(Node* global, Handle<Name> name, Node* value, | 312 Node* BuildGlobalStore(Node* global, Handle<Name> name, Node* value, |
313 const VectorSlotPair& feedback, TypeFeedbackId id); | 313 const VectorSlotPair& feedback, TypeFeedbackId id); |
314 | 314 |
315 // Builders for accessing the function context. | 315 // Builders for accessing the function context. |
316 Node* BuildLoadBuiltinsObject(); | 316 Node* BuildLoadBuiltinsObject(); |
317 Node* BuildLoadGlobalObject(); | 317 Node* BuildLoadGlobalObject(); |
318 Node* BuildLoadGlobalProxy(); | 318 Node* BuildLoadGlobalProxy(); |
319 Node* BuildLoadFeedbackVector(); | 319 Node* BuildLoadFeedbackVector(); |
320 | 320 |
321 // Builder for accessing a (potentially immutable) object field. | 321 // Builder for accessing a (potentially immutable) object field. |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 | 553 |
554 // Prepare environment to be used as loop header. | 554 // Prepare environment to be used as loop header. |
555 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 555 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
556 }; | 556 }; |
557 | 557 |
558 } // namespace compiler | 558 } // namespace compiler |
559 } // namespace internal | 559 } // namespace internal |
560 } // namespace v8 | 560 } // namespace v8 |
561 | 561 |
562 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 562 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |