| Index: src/codegen-arm.cc
|
| ===================================================================
|
| --- src/codegen-arm.cc (revision 1482)
|
| +++ src/codegen-arm.cc (working copy)
|
| @@ -284,7 +284,11 @@
|
| DeleteFrame();
|
|
|
| // Process any deferred code using the register allocator.
|
| - ProcessDeferred();
|
| + if (HasStackOverflow()) {
|
| + ClearDeferred();
|
| + } else {
|
| + ProcessDeferred();
|
| + }
|
|
|
| allocator_ = NULL;
|
| scope_ = NULL;
|
| @@ -1133,6 +1137,7 @@
|
| if (node->break_target()->is_linked()) {
|
| node->break_target()->Bind();
|
| }
|
| + node->break_target()->Unuse();
|
| ASSERT(!has_valid_frame() || frame_->height() == original_height);
|
| }
|
|
|
| @@ -1594,6 +1599,7 @@
|
| if (node->break_target()->is_linked()) {
|
| node->break_target()->Bind();
|
| }
|
| + node->break_target()->Unuse();
|
| ASSERT(!has_valid_frame() || frame_->height() == original_height);
|
| }
|
|
|
| @@ -1781,6 +1787,8 @@
|
| if (node->break_target()->is_linked()) {
|
| node->break_target()->Bind();
|
| }
|
| + node->continue_target()->Unuse();
|
| + node->break_target()->Unuse();
|
| ASSERT(!has_valid_frame() || frame_->height() == original_height);
|
| }
|
|
|
| @@ -1971,6 +1979,8 @@
|
|
|
| // Exit.
|
| exit.Bind();
|
| + node->continue_target()->Unuse();
|
| + node->break_target()->Unuse();
|
| ASSERT(frame_->height() == original_height);
|
| }
|
|
|
|
|