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