| 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  |   10  | 
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  283   // Visit expressions. |  283   // Visit expressions. | 
|  284   void Visit(Expression* expr); |  284   void Visit(Expression* expr); | 
|  285   void VisitForTest(Expression* expr); |  285   void VisitForTest(Expression* expr); | 
|  286   void VisitForEffect(Expression* expr); |  286   void VisitForEffect(Expression* expr); | 
|  287   void VisitForValue(Expression* expr); |  287   void VisitForValue(Expression* expr); | 
|  288   void VisitForValueOrNull(Expression* expr); |  288   void VisitForValueOrNull(Expression* expr); | 
|  289   void VisitForValueOrTheHole(Expression* expr); |  289   void VisitForValueOrTheHole(Expression* expr); | 
|  290   void VisitForValues(ZoneList<Expression*>* exprs); |  290   void VisitForValues(ZoneList<Expression*>* exprs); | 
|  291  |  291  | 
|  292   // Common for all IterationStatement bodies. |  292   // Common for all IterationStatement bodies. | 
|  293   void VisitIterationBody(IterationStatement* stmt, LoopBuilder* loop, int); |  293   void VisitIterationBody(IterationStatement* stmt, LoopBuilder* loop); | 
|  294  |  294  | 
|  295   // Dispatched from VisitCallRuntime. |  295   // Dispatched from VisitCallRuntime. | 
|  296   void VisitCallJSRuntime(CallRuntime* expr); |  296   void VisitCallJSRuntime(CallRuntime* expr); | 
|  297  |  297  | 
|  298   // Dispatched from VisitUnaryOperation. |  298   // Dispatched from VisitUnaryOperation. | 
|  299   void VisitDelete(UnaryOperation* expr); |  299   void VisitDelete(UnaryOperation* expr); | 
|  300   void VisitVoid(UnaryOperation* expr); |  300   void VisitVoid(UnaryOperation* expr); | 
|  301   void VisitTypeof(UnaryOperation* expr); |  301   void VisitTypeof(UnaryOperation* expr); | 
|  302   void VisitNot(UnaryOperation* expr); |  302   void VisitNot(UnaryOperation* expr); | 
|  303  |  303  | 
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  393   } |  393   } | 
|  394   Node* Peek(int depth) { |  394   Node* Peek(int depth) { | 
|  395     DCHECK(depth >= 0 && depth < stack_height()); |  395     DCHECK(depth >= 0 && depth < stack_height()); | 
|  396     int index = static_cast<int>(values()->size()) - depth - 1; |  396     int index = static_cast<int>(values()->size()) - depth - 1; | 
|  397     return values()->at(index); |  397     return values()->at(index); | 
|  398   } |  398   } | 
|  399   void Drop(int depth) { |  399   void Drop(int depth) { | 
|  400     DCHECK(depth >= 0 && depth <= stack_height()); |  400     DCHECK(depth >= 0 && depth <= stack_height()); | 
|  401     values()->erase(values()->end() - depth, values()->end()); |  401     values()->erase(values()->end() - depth, values()->end()); | 
|  402   } |  402   } | 
 |  403   void Trim(int trim_to_height) { | 
 |  404     int depth = stack_height() - trim_to_height; | 
 |  405     DCHECK(depth >= 0 && depth <= stack_height()); | 
 |  406     values()->erase(values()->end() - depth, values()->end()); | 
 |  407   } | 
|  403  |  408  | 
|  404   // Preserve a checkpoint of the environment for the IR graph. Any |  409   // Preserve a checkpoint of the environment for the IR graph. Any | 
|  405   // further mutation of the environment will not affect checkpoints. |  410   // further mutation of the environment will not affect checkpoints. | 
|  406   Node* Checkpoint(BailoutId ast_id, OutputFrameStateCombine combine); |  411   Node* Checkpoint(BailoutId ast_id, OutputFrameStateCombine combine); | 
|  407  |  412  | 
|  408   // Control dependency tracked by this environment. |  413   // Control dependency tracked by this environment. | 
|  409   Node* GetControlDependency() { return control_dependency_; } |  414   Node* GetControlDependency() { return control_dependency_; } | 
|  410   void UpdateControlDependency(Node* dependency) { |  415   void UpdateControlDependency(Node* dependency) { | 
|  411     control_dependency_ = dependency; |  416     control_dependency_ = dependency; | 
|  412   } |  417   } | 
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  470  |  475  | 
|  471   // Prepare environment to be used as loop header. |  476   // Prepare environment to be used as loop header. | 
|  472   void PrepareForLoop(BitVector* assigned, bool is_osr = false); |  477   void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 
|  473 }; |  478 }; | 
|  474  |  479  | 
|  475 }  // namespace compiler |  480 }  // namespace compiler | 
|  476 }  // namespace internal |  481 }  // namespace internal | 
|  477 }  // namespace v8 |  482 }  // namespace v8 | 
|  478  |  483  | 
|  479 #endif  // V8_COMPILER_AST_GRAPH_BUILDER_H_ |  484 #endif  // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 
| OLD | NEW |