| Index: lib/runtime/dart/_isolate_helper.js
|
| diff --git a/lib/runtime/dart/_isolate_helper.js b/lib/runtime/dart/_isolate_helper.js
|
| index af6ce9149f83be2cd711fd176cc491a1e84de98e..1aab660747c79087b79b7b61dadeeef16cadf1a5 100644
|
| --- a/lib/runtime/dart/_isolate_helper.js
|
| +++ b/lib/runtime/dart/_isolate_helper.js
|
| @@ -65,7 +65,7 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
|
| dart.throw(new core.UnsupportedError(`${message} ${x}`));
|
| }
|
| makeRef(serializationId) {
|
| - return ["ref", serializationId];
|
| + return dart.list(["ref", serializationId], core.Object);
|
| }
|
| isPrimitive(x) {
|
| return x == null || typeof x == 'string' || typeof x == 'number' || typeof x == 'boolean';
|
| @@ -74,18 +74,18 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
|
| return primitive;
|
| }
|
| serializeByteBuffer(buffer) {
|
| - return ["buffer", buffer];
|
| + return dart.list(["buffer", buffer], core.Object);
|
| }
|
| serializeTypedData(data) {
|
| - return ["typed", data];
|
| + return dart.list(["typed", data], core.Object);
|
| }
|
| serializeJSIndexable(indexable) {
|
| dart.assert(!(typeof indexable == 'string'));
|
| let serialized = dart.as(this.serializeArray(dart.as(indexable, _interceptors.JSArray)), core.List);
|
| - if (dart.is(indexable, _interceptors.JSFixedArray)) return ["fixed", serialized];
|
| - if (dart.is(indexable, _interceptors.JSExtendableArray)) return ["extendable", serialized];
|
| - if (dart.is(indexable, _interceptors.JSMutableArray)) return ["mutable", serialized];
|
| - if (dart.is(indexable, _interceptors.JSArray)) return ["const", serialized];
|
| + if (dart.is(indexable, _interceptors.JSFixedArray)) return dart.list(["fixed", serialized], core.Object);
|
| + if (dart.is(indexable, _interceptors.JSExtendableArray)) return dart.list(["extendable", serialized], core.Object);
|
| + if (dart.is(indexable, _interceptors.JSMutableArray)) return dart.list(["mutable", serialized], core.Object);
|
| + if (dart.is(indexable, _interceptors.JSArray)) return dart.list(["const", serialized], core.Object);
|
| this.unsupported(indexable, "Can't serialize indexable: ");
|
| return null;
|
| }
|
| @@ -105,7 +105,7 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
|
| }
|
| serializeMap(x) {
|
| let serializeTearOff = dart.bind(this, 'serialize');
|
| - return ['map', x[dartx.keys][dartx.map](dart.as(serializeTearOff, __CastType0))[dartx.toList](), x[dartx.values][dartx.map](dart.as(serializeTearOff, dart.functionType(dart.dynamic, [dart.dynamic])))[dartx.toList]()];
|
| + return dart.list(['map', x[dartx.keys][dartx.map](dart.as(serializeTearOff, __CastType0))[dartx.toList](), x[dartx.values][dartx.map](dart.as(serializeTearOff, dart.functionType(dart.dynamic, [dart.dynamic])))[dartx.toList]()], core.Object);
|
| }
|
| serializeJSObject(x) {
|
| if (!!x.constructor && x.constructor !== Object) {
|
| @@ -117,30 +117,30 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
|
| for (let i = 0; i < dart.notNull(keys[dartx.length]); i++) {
|
| values[dartx.set](i, this.serialize(x[keys[dartx.get](i)]));
|
| }
|
| - return ['js-object', keys, values];
|
| + return dart.list(['js-object', keys, values], core.Object);
|
| }
|
| serializeWorkerSendPort(x) {
|
| if (dart.notNull(this[_serializeSendPorts])) {
|
| - return ['sendport', x[_workerId], x[_isolateId], x[_receivePortId]];
|
| + return dart.list(['sendport', x[_workerId], x[_isolateId], x[_receivePortId]], core.Object);
|
| }
|
| - return ['raw sendport', x];
|
| + return dart.list(['raw sendport', x], core.Object);
|
| }
|
| serializeJsSendPort(x) {
|
| if (dart.notNull(this[_serializeSendPorts])) {
|
| let workerId = exports._globalState.currentManagerId;
|
| - return ['sendport', workerId, x[_isolateId], x[_receivePort][_id]];
|
| + return dart.list(['sendport', workerId, x[_isolateId], x[_receivePort][_id]], core.Object);
|
| }
|
| - return ['raw sendport', x];
|
| + return dart.list(['raw sendport', x], core.Object);
|
| }
|
| serializeCapability(x) {
|
| - return ['capability', x[_id]];
|
| + return dart.list(['capability', x[_id]], core.Object);
|
| }
|
| serializeClosure(x) {
|
| let name = IsolateNatives._getJSFunctionName(x);
|
| if (name == null) {
|
| this.unsupported(x, "Closures can't be transmitted:");
|
| }
|
| - return ['function', name];
|
| + return dart.list(['function', name], core.String);
|
| }
|
| serializeDartObject(x) {
|
| let classExtractor = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names.CLASS_ID_EXTRACTOR);
|
| @@ -1019,7 +1019,7 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
|
| IsolateNatives.spawn(dart.as(dart.dindex(msg, 'functionName'), core.String), dart.as(dart.dindex(msg, 'uri'), core.String), dart.as(dart.dindex(msg, 'args'), core.List$(core.String)), dart.dindex(msg, 'msg'), false, dart.as(dart.dindex(msg, 'isSpawnUri'), core.bool), dart.as(dart.dindex(msg, 'startPaused'), core.bool)).then(dart.fn(msg => {
|
| dart.dsend(replyPort, 'send', msg);
|
| }, dart.dynamic, [core.List]), {onError: dart.fn(errorMessage => {
|
| - dart.dsend(replyPort, 'send', [_SPAWN_FAILED_SIGNAL, errorMessage]);
|
| + dart.dsend(replyPort, 'send', dart.list([_SPAWN_FAILED_SIGNAL, errorMessage], core.String));
|
| }, dart.dynamic, [core.String])});
|
| }
|
| static _log(msg) {
|
| @@ -1112,7 +1112,7 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
|
| static _startIsolate(topLevel, args, message, isSpawnUri, startPaused, replyTo) {
|
| let context = dart.as(_foreign_helper.JS_CURRENT_ISOLATE_CONTEXT(), _IsolateContext);
|
| _js_helper.Primitives.initializeStatics(context.id);
|
| - replyTo.send([_SPAWNED_SIGNAL, context.controlPort.sendPort, context.pauseCapability, context.terminateCapability]);
|
| + replyTo.send(dart.list([_SPAWNED_SIGNAL, context.controlPort.sendPort, context.pauseCapability, context.terminateCapability], core.Object));
|
| function runStartFunction() {
|
| context.initialized = true;
|
| if (!dart.notNull(isSpawnUri)) {
|
|
|