Index: src/full-codegen/full-codegen.cc |
diff --git a/src/full-codegen/full-codegen.cc b/src/full-codegen/full-codegen.cc |
index d83a23b3f8f72810896634712042b74ed55ce498..65671203bb37f2083036da820574c19a4873f2ef 100644 |
--- a/src/full-codegen/full-codegen.cc |
+++ b/src/full-codegen/full-codegen.cc |
@@ -896,6 +896,7 @@ void FullCodeGenerator::EmitContinue(Statement* target) { |
// accumulator on the stack. |
ClearAccumulator(); |
while (!current->IsContinueTarget(target)) { |
+ if (HasStackOverflow()) return; |
if (current->IsTryFinally()) { |
Comment cmnt(masm(), "[ Deferred continue through finally"); |
current->Exit(&context_length); |
@@ -936,6 +937,7 @@ void FullCodeGenerator::EmitBreak(Statement* target) { |
// accumulator on the stack. |
ClearAccumulator(); |
while (!current->IsBreakTarget(target)) { |
+ if (HasStackOverflow()) return; |
if (current->IsTryFinally()) { |
Comment cmnt(masm(), "[ Deferred break through finally"); |
current->Exit(&context_length); |
@@ -971,6 +973,7 @@ void FullCodeGenerator::EmitUnwindAndReturn() { |
NestedStatement* current = nesting_stack_; |
int context_length = 0; |
while (current != NULL) { |
+ if (HasStackOverflow()) return; |
if (current->IsTryFinally()) { |
Comment cmnt(masm(), "[ Deferred return through finally"); |
current->Exit(&context_length); |