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/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/ast.h" | 10 #include "src/ast.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 Node* BuildHoleCheckSilent(Node* value, Node* for_hole, Node* not_hole); | 109 Node* BuildHoleCheckSilent(Node* value, Node* for_hole, Node* not_hole); |
110 Node* BuildHoleCheckThrow(Node* value, Variable* var, Node* not_hole, | 110 Node* BuildHoleCheckThrow(Node* value, Variable* var, Node* not_hole, |
111 BailoutId bailout_id); | 111 BailoutId bailout_id); |
112 | 112 |
113 // Builders for binary operations. | 113 // Builders for binary operations. |
114 Node* BuildBinaryOp(Node* left, Node* right, Token::Value op); | 114 Node* BuildBinaryOp(Node* left, Node* right, Token::Value op); |
115 | 115 |
116 // Builder for stack-check guards. | 116 // Builder for stack-check guards. |
117 Node* BuildStackCheck(); | 117 Node* BuildStackCheck(); |
118 | 118 |
119 bool IsOsrLoopEntry(IterationStatement* stmt); | 119 // Check if the given statement is an OSR entry. |
| 120 // If so, record the stack height into the compilation and return {true}. |
| 121 bool CheckOsrEntry(IterationStatement* stmt); |
120 | 122 |
121 #define DECLARE_VISIT(type) void Visit##type(type* node) OVERRIDE; | 123 #define DECLARE_VISIT(type) void Visit##type(type* node) OVERRIDE; |
122 | 124 |
123 // Visiting functions for AST nodes make this an AstVisitor. | 125 // Visiting functions for AST nodes make this an AstVisitor. |
124 AST_NODE_LIST(DECLARE_VISIT) | 126 AST_NODE_LIST(DECLARE_VISIT) |
125 #undef DECLARE_VISIT | 127 #undef DECLARE_VISIT |
126 | 128 |
127 // Visiting function for declarations list is overridden. | 129 // Visiting function for declarations list is overridden. |
128 void VisitDeclarations(ZoneList<Declaration*>* declarations) OVERRIDE; | 130 void VisitDeclarations(ZoneList<Declaration*>* declarations) OVERRIDE; |
129 | 131 |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 | 458 |
457 Scope* AstGraphBuilder::current_scope() const { | 459 Scope* AstGraphBuilder::current_scope() const { |
458 return execution_context_->scope(); | 460 return execution_context_->scope(); |
459 } | 461 } |
460 | 462 |
461 } // namespace compiler | 463 } // namespace compiler |
462 } // namespace internal | 464 } // namespace internal |
463 } // namespace v8 | 465 } // namespace v8 |
464 | 466 |
465 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ | 467 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ |
OLD | NEW |