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 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
350 | 350 |
351 // =========================================================================== | 351 // =========================================================================== |
352 // The following visitation methods all recursively visit a subtree of the | 352 // The following visitation methods all recursively visit a subtree of the |
353 // underlying AST and extent the graph. The operand stack is mutated in a way | 353 // underlying AST and extent the graph. The operand stack is mutated in a way |
354 // consistent with other compilers: | 354 // consistent with other compilers: |
355 // - Expressions pop operands and push result, depending on {AstContext}. | 355 // - Expressions pop operands and push result, depending on {AstContext}. |
356 // - Statements keep the operand stack balanced. | 356 // - Statements keep the operand stack balanced. |
357 | 357 |
358 // Visit statements. | 358 // Visit statements. |
359 void VisitIfNotNull(Statement* stmt); | 359 void VisitIfNotNull(Statement* stmt); |
| 360 void VisitInScope(Statement* stmt, Scope* scope, Node* context); |
360 | 361 |
361 // Visit expressions. | 362 // Visit expressions. |
362 void Visit(Expression* expr); | 363 void Visit(Expression* expr); |
363 void VisitForTest(Expression* expr); | 364 void VisitForTest(Expression* expr); |
364 void VisitForEffect(Expression* expr); | 365 void VisitForEffect(Expression* expr); |
365 void VisitForValue(Expression* expr); | 366 void VisitForValue(Expression* expr); |
366 void VisitForValueOrNull(Expression* expr); | 367 void VisitForValueOrNull(Expression* expr); |
367 void VisitForValueOrTheHole(Expression* expr); | 368 void VisitForValueOrTheHole(Expression* expr); |
368 void VisitForValues(ZoneList<Expression*>* exprs); | 369 void VisitForValues(ZoneList<Expression*>* exprs); |
369 | 370 |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 | 534 |
534 // Prepare environment to be used as loop header. | 535 // Prepare environment to be used as loop header. |
535 void PrepareForLoop(BitVector* assigned, bool is_osr = false); | 536 void PrepareForLoop(BitVector* assigned, bool is_osr = false); |
536 }; | 537 }; |
537 | 538 |
538 } // namespace compiler | 539 } // namespace compiler |
539 } // namespace internal | 540 } // namespace internal |
540 } // namespace v8 | 541 } // namespace v8 |
541 | 542 |
542 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 543 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |