Chromium Code Reviews| Index: runtime/vm/code_generator.cc |
| =================================================================== |
| --- runtime/vm/code_generator.cc (revision 42195) |
| +++ runtime/vm/code_generator.cc (working copy) |
| @@ -1192,7 +1192,13 @@ |
| isolate->heap()->CollectGarbage(Heap::kNew); |
| } |
| if ((interrupt_bits & Isolate::kMessageInterrupt) != 0) { |
| - isolate->message_handler()->HandleOOBMessages(); |
| + bool ok = isolate->message_handler()->HandleOOBMessages(); |
| + if (!ok) { |
| + const String& msg = String::Handle(String::New("unwind")); |
|
siva
2014/12/13 00:24:05
why not "isolate terminated" instead of "unwind" s
Ivan Posva
2014/12/13 00:36:47
Done and added a comment.
|
| + const UnwindError& error = UnwindError::Handle(UnwindError::New(msg)); |
| + Exceptions::PropagateError(error); |
|
Lasse Reichstein Nielsen
2014/12/13 02:04:46
If an UnwindError terminates the isolate without r
Ivan Posva
2014/12/15 22:25:59
PropagateError does propagate the error to the nex
|
| + UNREACHABLE(); |
| + } |
| } |
| if ((interrupt_bits & Isolate::kApiInterrupt) != 0) { |
| // Signal isolate interrupt event. |