OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #include "src/crankshaft/hydrogen.h" | 5 #include "src/crankshaft/hydrogen.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/allocation-site-scopes.h" | 9 #include "src/allocation-site-scopes.h" |
10 #include "src/ast/ast-numbering.h" | 10 #include "src/ast/ast-numbering.h" |
(...skipping 5426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5437 CHECK_BAILOUT(VisitLoopBody(stmt, loop_entry)); | 5437 CHECK_BAILOUT(VisitLoopBody(stmt, loop_entry)); |
5438 } | 5438 } |
5439 | 5439 |
5440 HBasicBlock* body_exit = | 5440 HBasicBlock* body_exit = |
5441 JoinContinue(stmt, current_block(), break_info.continue_block()); | 5441 JoinContinue(stmt, current_block(), break_info.continue_block()); |
5442 | 5442 |
5443 if (body_exit != NULL) { | 5443 if (body_exit != NULL) { |
5444 set_current_block(body_exit); | 5444 set_current_block(body_exit); |
5445 | 5445 |
5446 HValue* current_index = Pop(); | 5446 HValue* current_index = Pop(); |
5447 Push(AddUncasted<HAdd>(current_index, graph()->GetConstant1())); | 5447 HValue* increment = |
| 5448 AddUncasted<HAdd>(current_index, graph()->GetConstant1()); |
| 5449 increment->ClearFlag(HValue::kCanOverflow); |
| 5450 Push(increment); |
5448 body_exit = current_block(); | 5451 body_exit = current_block(); |
5449 } | 5452 } |
5450 | 5453 |
5451 HBasicBlock* loop_exit = CreateLoop(stmt, | 5454 HBasicBlock* loop_exit = CreateLoop(stmt, |
5452 loop_entry, | 5455 loop_entry, |
5453 body_exit, | 5456 body_exit, |
5454 loop_successor, | 5457 loop_successor, |
5455 break_info.break_block()); | 5458 break_info.break_block()); |
5456 | 5459 |
5457 set_current_block(loop_exit); | 5460 set_current_block(loop_exit); |
(...skipping 8154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13612 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13615 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13613 } | 13616 } |
13614 | 13617 |
13615 #ifdef DEBUG | 13618 #ifdef DEBUG |
13616 graph_->Verify(false); // No full verify. | 13619 graph_->Verify(false); // No full verify. |
13617 #endif | 13620 #endif |
13618 } | 13621 } |
13619 | 13622 |
13620 } // namespace internal | 13623 } // namespace internal |
13621 } // namespace v8 | 13624 } // namespace v8 |
OLD | NEW |