Index: runtime/vm/dart.cc |
diff --git a/runtime/vm/dart.cc b/runtime/vm/dart.cc |
index ac51ad96e65f600a101fe85b3f34c7bfefaf4e28..2d8604451dd3885165ed7b7a5af8ba5d42891e1b 100644 |
--- a/runtime/vm/dart.cc |
+++ b/runtime/vm/dart.cc |
@@ -81,8 +81,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 or flags not initialized."; |
@@ -143,10 +142,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; |
} |
@@ -260,8 +261,11 @@ RawError* Dart::InitializeIsolate(const uint8_t* snapshot_buffer, void* data) { |
isolate->class_table()->Print(); |
} |
- isolate->debugger()->NotifyIsolateCreated(); |
+ Service::MaybeInjectVMServiceLibrary(isolate); |
+ |
Service::SendIsolateStartupMessage(); |
+ isolate->debugger()->NotifyIsolateCreated(); |
+ |
// Create tag table. |
isolate->set_tag_table( |
GrowableObjectArray::Handle(GrowableObjectArray::New())); |