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. |