| Index: runtime/lib/isolate.cc
|
| ===================================================================
|
| --- runtime/lib/isolate.cc (revision 42575)
|
| +++ runtime/lib/isolate.cc (working copy)
|
| @@ -212,10 +212,11 @@
|
| }
|
|
|
|
|
| -DEFINE_NATIVE_ENTRY(Isolate_spawnFunction, 3) {
|
| +DEFINE_NATIVE_ENTRY(Isolate_spawnFunction, 4) {
|
| GET_NON_NULL_NATIVE_ARGUMENT(SendPort, port, arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Instance, closure, arguments->NativeArgAt(1));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Instance, message, arguments->NativeArgAt(2));
|
| + GET_NON_NULL_NATIVE_ARGUMENT(Bool, paused, arguments->NativeArgAt(3));
|
| if (closure.IsClosure()) {
|
| Function& func = Function::Handle();
|
| func = Closure::function(closure);
|
| @@ -225,7 +226,8 @@
|
| ctx = Closure::context(closure);
|
| ASSERT(ctx.num_variables() == 0);
|
| #endif
|
| - return Spawn(isolate, new IsolateSpawnState(port.Id(), func, message));
|
| + return Spawn(isolate, new IsolateSpawnState(
|
| + port.Id(), func, message, paused.value()));
|
| }
|
| }
|
| const String& msg = String::Handle(String::New(
|
| @@ -235,12 +237,13 @@
|
| }
|
|
|
|
|
| -DEFINE_NATIVE_ENTRY(Isolate_spawnUri, 5) {
|
| +DEFINE_NATIVE_ENTRY(Isolate_spawnUri, 6) {
|
| GET_NON_NULL_NATIVE_ARGUMENT(SendPort, port, arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(String, uri, arguments->NativeArgAt(1));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Instance, args, arguments->NativeArgAt(2));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Instance, message, arguments->NativeArgAt(3));
|
| - GET_NATIVE_ARGUMENT(String, package_root, arguments->NativeArgAt(4));
|
| + GET_NON_NULL_NATIVE_ARGUMENT(Bool, paused, arguments->NativeArgAt(4));
|
| + GET_NATIVE_ARGUMENT(String, package_root, arguments->NativeArgAt(5));
|
|
|
| // Canonicalize the uri with respect to the current isolate.
|
| char* error = NULL;
|
| @@ -262,8 +265,12 @@
|
| utf8_package_root[len] = '\0';
|
| }
|
|
|
| - return Spawn(isolate, new IsolateSpawnState(
|
| - port.Id(), canonical_uri, utf8_package_root, args, message));
|
| + return Spawn(isolate, new IsolateSpawnState(port.Id(),
|
| + canonical_uri,
|
| + utf8_package_root,
|
| + args,
|
| + message,
|
| + paused.value()));
|
| }
|
|
|
|
|
|
|