OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_HYDROGEN_H_ | 5 #ifndef V8_HYDROGEN_H_ |
6 #define V8_HYDROGEN_H_ | 6 #define V8_HYDROGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 2242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2253 void VisitTypeof(UnaryOperation* expr); | 2253 void VisitTypeof(UnaryOperation* expr); |
2254 void VisitNot(UnaryOperation* expr); | 2254 void VisitNot(UnaryOperation* expr); |
2255 | 2255 |
2256 void VisitComma(BinaryOperation* expr); | 2256 void VisitComma(BinaryOperation* expr); |
2257 void VisitLogicalExpression(BinaryOperation* expr); | 2257 void VisitLogicalExpression(BinaryOperation* expr); |
2258 void VisitArithmeticExpression(BinaryOperation* expr); | 2258 void VisitArithmeticExpression(BinaryOperation* expr); |
2259 | 2259 |
2260 void VisitLoopBody(IterationStatement* stmt, | 2260 void VisitLoopBody(IterationStatement* stmt, |
2261 HBasicBlock* loop_entry); | 2261 HBasicBlock* loop_entry); |
2262 | 2262 |
| 2263 void BuildForInBody(ForInStatement* stmt, Variable* each_var, |
| 2264 HValue* enumerable); |
| 2265 |
2263 // Create a back edge in the flow graph. body_exit is the predecessor | 2266 // Create a back edge in the flow graph. body_exit is the predecessor |
2264 // block and loop_entry is the successor block. loop_successor is the | 2267 // block and loop_entry is the successor block. loop_successor is the |
2265 // block where control flow exits the loop normally (e.g., via failure of | 2268 // block where control flow exits the loop normally (e.g., via failure of |
2266 // the condition) and break_block is the block where control flow breaks | 2269 // the condition) and break_block is the block where control flow breaks |
2267 // from the loop. All blocks except loop_entry can be NULL. The return | 2270 // from the loop. All blocks except loop_entry can be NULL. The return |
2268 // value is the new successor block which is the join of loop_successor | 2271 // value is the new successor block which is the join of loop_successor |
2269 // and break_block, or NULL. | 2272 // and break_block, or NULL. |
2270 HBasicBlock* CreateLoop(IterationStatement* statement, | 2273 HBasicBlock* CreateLoop(IterationStatement* statement, |
2271 HBasicBlock* loop_entry, | 2274 HBasicBlock* loop_entry, |
2272 HBasicBlock* body_exit, | 2275 HBasicBlock* body_exit, |
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3037 } | 3040 } |
3038 | 3041 |
3039 private: | 3042 private: |
3040 HGraphBuilder* builder_; | 3043 HGraphBuilder* builder_; |
3041 }; | 3044 }; |
3042 | 3045 |
3043 | 3046 |
3044 } } // namespace v8::internal | 3047 } } // namespace v8::internal |
3045 | 3048 |
3046 #endif // V8_HYDROGEN_H_ | 3049 #endif // V8_HYDROGEN_H_ |
OLD | NEW |