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); |
} |