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* script_context, Node* global, Handle<Name> name, | 310 Node* BuildGlobalLoad(Node* script_context, Node* global, Handle<Name> name, |
311 const VectorSlotPair& feedback, ContextualMode mode, | 311 const VectorSlotPair& feedback, TypeofMode typeof_mode, |
312 int slot_index); | 312 int slot_index); |
313 Node* BuildGlobalStore(Node* script_context, Node* global, Handle<Name> name, | 313 Node* BuildGlobalStore(Node* script_context, Node* global, Handle<Name> name, |
314 Node* value, const VectorSlotPair& feedback, | 314 Node* value, const VectorSlotPair& feedback, |
315 TypeFeedbackId id, int slot_index); | 315 TypeFeedbackId id, int slot_index); |
316 | 316 |
317 // Builders for accessing the function context. | 317 // Builders for accessing the function context. |
318 Node* BuildLoadBuiltinsObject(); | 318 Node* BuildLoadBuiltinsObject(); |
319 Node* BuildLoadGlobalObject(); | 319 Node* BuildLoadGlobalObject(); |
320 Node* BuildLoadGlobalProxy(); | 320 Node* BuildLoadGlobalProxy(); |
321 Node* BuildLoadFeedbackVector(); | 321 Node* BuildLoadFeedbackVector(); |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 | 555 |
556 // Prepare environment to be used as loop header. | 556 // Prepare environment to be used as loop header. |
557 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 557 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
558 }; | 558 }; |
559 | 559 |
560 } // namespace compiler | 560 } // namespace compiler |
561 } // namespace internal | 561 } // namespace internal |
562 } // namespace v8 | 562 } // namespace v8 |
563 | 563 |
564 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 564 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |