Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(377)

Unified Diff: runtime/bin/builtin_nolib.cc

Issue 584023004: Service isolate rework (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/bin/builtin_nolib.cc
diff --git a/runtime/bin/builtin_nolib.cc b/runtime/bin/builtin_nolib.cc
index 1662cd6117aa4327e9c67ff155e5c0f87b70eb72..9764018780f8a8f65231784c391e1231b51beae5 100644
--- a/runtime/bin/builtin_nolib.cc
+++ b/runtime/bin/builtin_nolib.cc
@@ -20,6 +20,7 @@ Builtin::builtin_lib_props Builtin::builtin_libraries_[] = {
{ DartUtils::kIOLibURL, NULL, NULL, NULL, true },
};
+Dart_Port Builtin::load_port_ = ILLEGAL_PORT;
Dart_Handle Builtin::Source(BuiltinLibraryId id) {
return DartUtils::NewError("Unreachable code in Builtin::Source (%d).", id);
@@ -69,5 +70,26 @@ Dart_Handle Builtin::LoadAndCheckLibrary(BuiltinLibraryId id) {
return library;
}
+
+void Builtin::SetLoadPort(Dart_Port port) {
+ load_port_ = port;
+ ASSERT(load_port_ != ILLEGAL_PORT);
+ Dart_Handle field_name = DartUtils::NewString("_loadPort");
+ ASSERT(!Dart_IsError(field_name));
+ Dart_Handle builtin_lib =
+ Builtin::LoadAndCheckLibrary(Builtin::kBuiltinLibrary);
+ ASSERT(!Dart_IsError(builtin_lib));
+ Dart_Handle send_port = Dart_GetField(builtin_lib, field_name);
+ ASSERT(!Dart_IsError(send_port));
+ if (!Dart_IsNull(send_port)) {
+ // Already created and set.
+ return;
+ }
+ send_port = Dart_NewSendPort(load_port_);
+ ASSERT(!Dart_IsError(send_port));
+ Dart_Handle result = Dart_SetField(builtin_lib, field_name, send_port);
+ ASSERT(!Dart_IsError(result));
siva 2015/01/22 22:39:31 This code seems to be identical to the one in buil
Cutch 2015/01/26 18:59:30 Done.
+}
+
} // namespace bin
} // namespace dart

Powered by Google App Engine
This is Rietveld 408576698