Chromium Code Reviews| Index: src/full-codegen/full-codegen.cc |
| diff --git a/src/full-codegen/full-codegen.cc b/src/full-codegen/full-codegen.cc |
| index a227137b4a3bb1e7c1021c71b8d5faaa8b32983c..2d9db83bf7d2811c2f03d2c5598d70d5a4516edb 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; |
|
adamk
2016/08/22 18:47:39
These additional HasStackOverflow() are surprising
Dan Ehrenberg
2016/08/22 19:01:10
The new desugaring ends up making some significant
|
| 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); |