Index: runtime/vm/isolate.cc |
=================================================================== |
--- runtime/vm/isolate.cc (revision 3416) |
+++ runtime/vm/isolate.cc (working copy) |
@@ -142,7 +142,7 @@ |
result->debugger_ = new Debugger(); |
result->debugger_->Initialize(result); |
if (FLAG_trace_isolates) { |
- if (strcmp(name_prefix, "vm-isolate") != 0) { |
+ if (name_prefix == NULL || strcmp(name_prefix, "vm-isolate") != 0) { |
OS::Print("[+] Starting isolate:\n" |
"\tisolate: %s\n", result->name()); |
} |
@@ -326,8 +326,7 @@ |
-RawObject* Isolate::StandardRunLoop() { |
- ASSERT(long_jump_base() != NULL); |
+RawError* Isolate::StandardRunLoop() { |
ASSERT(post_message_callback() == &StandardPostMessageCallback); |
ASSERT(close_port_callback() == &StandardClosePortCallback); |
@@ -344,14 +343,16 @@ |
DartLibraryCalls::HandleMessage( |
message->dest_port(), message->reply_port(), msg)); |
delete message; |
- if (result.IsUnhandledException()) { |
- return result.raw(); |
+ if (result.IsError()) { |
+ Error& error = Error::Handle(); |
+ error ^= result.raw(); |
+ return error.raw(); |
} |
} |
} |
// Indicates success. |
- return Object::null(); |
+ return Error::null(); |
} |