| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 97306a165963da9aff7824321404240b0bb2b5b2..f921fab0b1ccdbccd889e4cc98013d525757fad9 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -675,12 +675,19 @@ HBasicBlock* HGraphBuilder::CreateLoop(IterationStatement* statement,
|
| HBasicBlock* break_block) {
|
| if (body_exit != NULL) body_exit->Goto(loop_entry);
|
| loop_entry->PostProcessLoopHeader(statement);
|
| +
|
| + HBasicBlock* exit_block = loop_successor;
|
| if (break_block != NULL) {
|
| if (loop_successor != NULL) loop_successor->Goto(break_block);
|
| break_block->SetJoinId(statement->ExitId());
|
| - return break_block;
|
| + exit_block = break_block;
|
| + }
|
| +
|
| + if (loop_entry->IsLoopHeader()) {
|
| + loop_entry->loop_information()->set_exit_block(exit_block);
|
| }
|
| - return loop_successor;
|
| +
|
| + return exit_block;
|
| }
|
|
|
|
|
|
|