Index: runtime/vm/dart.cc |
diff --git a/runtime/vm/dart.cc b/runtime/vm/dart.cc |
index 84f3908c098b6babd8b99189fbaa19cfdd464bae..d8024bc88bbc8ef8bd3ee895e59aabe69cb6e874 100644 |
--- a/runtime/vm/dart.cc |
+++ b/runtime/vm/dart.cc |
@@ -91,8 +91,7 @@ const char* Dart::InitOnce(Dart_IsolateCreateCallback create, |
Dart_FileReadCallback file_read, |
Dart_FileWriteCallback file_write, |
Dart_FileCloseCallback file_close, |
- Dart_EntropySource entropy_source, |
- Dart_ServiceIsolateCreateCalback service_create) { |
+ Dart_EntropySource entropy_source) { |
// TODO(iposva): Fix race condition here. |
if (vm_isolate_ != NULL || !Flags::Initialized()) { |
return "VM already initialized."; |
@@ -156,10 +155,12 @@ const char* Dart::InitOnce(Dart_IsolateCreateCallback create, |
Isolate::SetCurrent(NULL); // Unregister the VM isolate from this thread. |
Isolate::SetCreateCallback(create); |
- Isolate::SetServiceCreateCallback(service_create); |
Isolate::SetInterruptCallback(interrupt); |
Isolate::SetUnhandledExceptionCallback(unhandled); |
Isolate::SetShutdownCallback(shutdown); |
+ |
+ Service::RunService(); |
+ |
return NULL; |
} |
@@ -272,7 +273,6 @@ RawError* Dart::InitializeIsolate(const uint8_t* snapshot_buffer, void* data) { |
isolate->class_table()->Print(); |
} |
- |
Service::SendIsolateStartupMessage(); |
// Create tag table. |
isolate->set_tag_table( |
@@ -281,6 +281,8 @@ RawError* Dart::InitializeIsolate(const uint8_t* snapshot_buffer, void* data) { |
const UserTag& default_tag = UserTag::Handle(UserTag::DefaultTag()); |
isolate->set_current_tag(default_tag); |
+ Service::MaybeInjectVMServiceLibrary(isolate); |
+ |
return Error::null(); |
} |