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

Side by Side Diff: lib/runtime/dart/_isolate_helper.js

Issue 1030063004: more care around generated names, fixes #60 #82 and #97 (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 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 unified diff | Download patch
OLDNEW
1 var _isolate_helper; 1 var _isolate_helper;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 // Function _serializeMessage: (dynamic) → dynamic 4 // Function _serializeMessage: (dynamic) → dynamic
5 function _serializeMessage(message) { 5 function _serializeMessage(message) {
6 return new _Serializer().serialize(message); 6 return new _Serializer().serialize(message);
7 } 7 }
8 // Function _deserializeMessage: (dynamic) → dynamic 8 // Function _deserializeMessage: (dynamic) → dynamic
9 function _deserializeMessage(message) { 9 function _deserializeMessage(message) {
10 return new _Deserializer().deserialize(message); 10 return new _Deserializer().deserialize(message);
11 } 11 }
12 // Function _clone: (dynamic) → dynamic 12 // Function _clone: (dynamic) → dynamic
13 function _clone(message) { 13 function _clone(message) {
14 let serializer = new _Serializer({serializeSendPorts: false}); 14 let serializer = new _Serializer({serializeSendPorts: false});
15 let deserializer = new _Deserializer(); 15 let deserializer = new _Deserializer();
16 return deserializer.deserialize(serializer.serialize(message)); 16 return deserializer.deserialize(serializer.serialize(message));
17 } 17 }
18 let _serializeSendPorts = Symbol('_serializeSendPorts'); 18 let _serializeSendPorts = Symbol('_serializeSendPorts');
19 let _workerId = Symbol('_workerId'); 19 let _workerId = Symbol('_workerId');
20 let _isolateId = Symbol('_isolateId'); 20 let _isolateId = Symbol('_isolateId');
21 let _receivePortId = Symbol('_receivePortId'); 21 let _receivePortId = Symbol('_receivePortId');
22 let _receivePort = Symbol('_receivePort'); 22 let _receivePort = Symbol('_receivePort');
23 let _id = Symbol('_id'); 23 let _id = Symbol('_id');
24 class _Serializer extends core.Object { 24 class _Serializer extends core.Object {
25 _Serializer(opt$) { 25 _Serializer(opts) {
26 let serializeSendPorts = opt$ && 'serializeSendPorts' in opt$ ? opt$.seria lizeSendPorts : true; 26 let serializeSendPorts = opts && 'serializeSendPorts' in opts ? opts.seria lizeSendPorts : true;
27 this.serializedObjectIds = new core.Map.identity(); 27 this.serializedObjectIds = new core.Map.identity();
28 this[_serializeSendPorts] = dart.as(serializeSendPorts, core.bool); 28 this[_serializeSendPorts] = dart.as(serializeSendPorts, core.bool);
29 } 29 }
30 serialize(x) { 30 serialize(x) {
31 if (this.isPrimitive(x)) 31 if (this.isPrimitive(x))
32 return this.serializePrimitive(x); 32 return this.serializePrimitive(x);
33 let serializationId = this.serializedObjectIds.get(x); 33 let serializationId = this.serializedObjectIds.get(x);
34 if (serializationId !== null) 34 if (serializationId !== null)
35 return this.makeRef(serializationId); 35 return this.makeRef(serializationId);
36 serializationId = this.serializedObjectIds.length; 36 serializationId = this.serializedObjectIds.length;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 serializeDartObject(x) { 150 serializeDartObject(x) {
151 let classExtractor = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_n ames.CLASS_ID_EXTRACTOR); 151 let classExtractor = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_n ames.CLASS_ID_EXTRACTOR);
152 let fieldsExtractor = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_ names.CLASS_FIELDS_EXTRACTOR); 152 let fieldsExtractor = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_ names.CLASS_FIELDS_EXTRACTOR);
153 let classId = classExtractor(x); 153 let classId = classExtractor(x);
154 let fields = dart.as(fieldsExtractor(x), core.List); 154 let fields = dart.as(fieldsExtractor(x), core.List);
155 return new List.from(['dart', classId, this.serializeArrayInPlace(dart.as( fields, _interceptors.JSArray))]); 155 return new List.from(['dart', classId, this.serializeArrayInPlace(dart.as( fields, _interceptors.JSArray))]);
156 } 156 }
157 } 157 }
158 let _adjustSendPorts = Symbol('_adjustSendPorts'); 158 let _adjustSendPorts = Symbol('_adjustSendPorts');
159 class _Deserializer extends core.Object { 159 class _Deserializer extends core.Object {
160 _Deserializer(opt$) { 160 _Deserializer(opts) {
161 let adjustSendPorts = opt$ && 'adjustSendPorts' in opt$ ? opt$.adjustSendP orts : true; 161 let adjustSendPorts = opts && 'adjustSendPorts' in opts ? opts.adjustSendP orts : true;
162 this.deserializedObjects = new core.List(); 162 this.deserializedObjects = new core.List();
163 this[_adjustSendPorts] = dart.as(adjustSendPorts, core.bool); 163 this[_adjustSendPorts] = dart.as(adjustSendPorts, core.bool);
164 } 164 }
165 deserialize(x) { 165 deserialize(x) {
166 if (this.isPrimitive(x)) 166 if (this.isPrimitive(x))
167 return this.deserializePrimitive(x); 167 return this.deserializePrimitive(x);
168 if (!dart.is(x, _interceptors.JSArray)) 168 if (!dart.is(x, _interceptors.JSArray))
169 throw new core.ArgumentError(`Bad serialized message: ${x}`); 169 throw new core.ArgumentError(`Bad serialized message: ${x}`);
170 switch (dart.dload(x, 'first')) { 170 switch (dart.dload(x, 'first')) {
171 case "ref": 171 case "ref":
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 let fields = dart.as(dart.dindex(x, 2), core.List); 313 let fields = dart.as(dart.dindex(x, 2), core.List);
314 let instanceFromClassId = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embed ded_names.INSTANCE_FROM_CLASS_ID); 314 let instanceFromClassId = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embed ded_names.INSTANCE_FROM_CLASS_ID);
315 let initializeObject = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded _names.INITIALIZE_EMPTY_INSTANCE); 315 let initializeObject = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded _names.INITIALIZE_EMPTY_INSTANCE);
316 let emptyInstance = instanceFromClassId(classId); 316 let emptyInstance = instanceFromClassId(classId);
317 this.deserializedObjects.add(emptyInstance); 317 this.deserializedObjects.add(emptyInstance);
318 this.deserializeArrayInPlace(dart.as(fields, _interceptors.JSArray)); 318 this.deserializeArrayInPlace(dart.as(fields, _interceptors.JSArray));
319 return initializeObject(classId, emptyInstance, fields); 319 return initializeObject(classId, emptyInstance, fields);
320 } 320 }
321 } 321 }
322 // Function _callInIsolate: (_IsolateContext, Function) → dynamic 322 // Function _callInIsolate: (_IsolateContext, Function) → dynamic
323 function _callInIsolate(isolate, function) { 323 function _callInIsolate(isolate, function$0) {
324 let result = isolate.eval(function); 324 let result = isolate.eval(function$0);
325 exports._globalState.topEventLoop.run(); 325 exports._globalState.topEventLoop.run();
326 return result; 326 return result;
327 } 327 }
328 let _activeJsAsyncCount = Symbol('_activeJsAsyncCount'); 328 let _activeJsAsyncCount = Symbol('_activeJsAsyncCount');
329 // Function enterJsAsync: () → dynamic 329 // Function enterJsAsync: () → dynamic
330 function enterJsAsync() { 330 function enterJsAsync() {
331 exports._globalState.topEventLoop[_activeJsAsyncCount] = dart.notNull(export s._globalState.topEventLoop[_activeJsAsyncCount]) + 1; 331 exports._globalState.topEventLoop[_activeJsAsyncCount] = dart.notNull(export s._globalState.topEventLoop[_activeJsAsyncCount]) + 1;
332 } 332 }
333 // Function leaveJsAsync: () → dynamic 333 // Function leaveJsAsync: () → dynamic
334 function leaveJsAsync() { 334 function leaveJsAsync() {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 dart.copyProperties(exports, { 373 dart.copyProperties(exports, {
374 get _globalState() { 374 get _globalState() {
375 return dart.as(init.globalState, _Manager); 375 return dart.as(init.globalState, _Manager);
376 }, 376 },
377 set _globalState(val) { 377 set _globalState(val) {
378 init.globalState = val; 378 init.globalState = val;
379 } 379 }
380 }); 380 });
381 let _nativeDetectEnvironment = Symbol('_nativeDetectEnvironment'); 381 let _nativeDetectEnvironment = Symbol('_nativeDetectEnvironment');
382 let _nativeInitWorkerMessageHandler = Symbol('_nativeInitWorkerMessageHandler' ); 382 let _nativeInitWorkerMessageHandler = Symbol('_nativeInitWorkerMessageHandler' );
383 let _processWorkerMessage = Symbol('_processWorkerMessage'); 383 let _processWorkerMessage$ = Symbol('_processWorkerMessage');
384 let _serializePrintMessage = Symbol('_serializePrintMessage'); 384 let _serializePrintMessage$ = Symbol('_serializePrintMessage');
385 class _Manager extends core.Object { 385 class _Manager extends core.Object {
386 get useWorkers() { 386 get useWorkers() {
387 return this.supportsWorkers; 387 return this.supportsWorkers;
388 } 388 }
389 _Manager(entry) { 389 _Manager(entry) {
390 this.entry = entry; 390 this.entry = entry;
391 this.nextIsolateId = 0; 391 this.nextIsolateId = 0;
392 this.currentManagerId = 0; 392 this.currentManagerId = 0;
393 this.nextManagerId = 1; 393 this.nextManagerId = 1;
394 this.currentContext = null; 394 this.currentContext = null;
(...skipping 15 matching lines...) Expand all
410 } 410 }
411 } 411 }
412 [_nativeDetectEnvironment]() { 412 [_nativeDetectEnvironment]() {
413 let isWindowDefined = exports.globalWindow !== null; 413 let isWindowDefined = exports.globalWindow !== null;
414 let isWorkerDefined = exports.globalWorker !== null; 414 let isWorkerDefined = exports.globalWorker !== null;
415 this.isWorker = !dart.notNull(isWindowDefined) && dart.notNull(exports.glo balPostMessageDefined); 415 this.isWorker = !dart.notNull(isWindowDefined) && dart.notNull(exports.glo balPostMessageDefined);
416 this.supportsWorkers = dart.notNull(this.isWorker) || dart.notNull(isWorke rDefined) && dart.notNull(IsolateNatives.thisScript !== null); 416 this.supportsWorkers = dart.notNull(this.isWorker) || dart.notNull(isWorke rDefined) && dart.notNull(IsolateNatives.thisScript !== null);
417 this.fromCommandLine = !dart.notNull(isWindowDefined) && !dart.notNull(thi s.isWorker); 417 this.fromCommandLine = !dart.notNull(isWindowDefined) && !dart.notNull(thi s.isWorker);
418 } 418 }
419 [_nativeInitWorkerMessageHandler]() { 419 [_nativeInitWorkerMessageHandler]() {
420 let function = function(f, a) { 420 let function$0 = function(f, a) {
421 return function(e) { 421 return function(e) {
422 f(a, e); 422 f(a, e);
423 }; 423 };
424 }(_foreign_helper.DART_CLOSURE_TO_JS(IsolateNatives[_processWorkerMessage] ), this.mainManager); 424 }(_foreign_helper.DART_CLOSURE_TO_JS(IsolateNatives[_processWorkerMessage$ ]), this.mainManager);
425 self.onmessage = function; 425 self.onmessage = function$0;
426 self.dartPrint = self.dartPrint || function(serialize) { 426 self.dartPrint = self.dartPrint || function(serialize) {
427 return function(object) { 427 return function(object) {
428 if (self.console && self.console.log) { 428 if (self.console && self.console.log) {
429 self.console.log(object); 429 self.console.log(object);
430 } else { 430 } else {
431 self.postMessage(serialize(object)); 431 self.postMessage(serialize(object));
432 } 432 }
433 }; 433 };
434 }(_foreign_helper.DART_CLOSURE_TO_JS(_serializePrintMessage)); 434 }(_foreign_helper.DART_CLOSURE_TO_JS(_serializePrintMessage));
435 } 435 }
436 static [_serializePrintMessage](object) { 436 static [_serializePrintMessage$](object) {
437 return _serializeMessage(dart.map({command: "print", msg: object})); 437 return _serializeMessage(dart.map({command: "print", msg: object}));
438 } 438 }
439 maybeCloseWorker() { 439 maybeCloseWorker() {
440 if (dart.notNull(this.isWorker) && dart.notNull(this.isolates.isEmpty) && this.topEventLoop[_activeJsAsyncCount] === 0) { 440 if (dart.notNull(this.isWorker) && dart.notNull(this.isolates.isEmpty) && this.topEventLoop[_activeJsAsyncCount] === 0) {
441 this.mainManager.postMessage(_serializeMessage(dart.map({command: 'close '}))); 441 this.mainManager.postMessage(_serializeMessage(dart.map({command: 'close '})));
442 } 442 }
443 } 443 }
444 } 444 }
445 let _scheduledControlEvents = Symbol('_scheduledControlEvents'); 445 let _scheduledControlEvents = Symbol('_scheduledControlEvents');
446 let _isExecutingEvent = Symbol('_isExecutingEvent'); 446 let _isExecutingEvent = Symbol('_isExecutingEvent');
447 let _updateGlobalState = Symbol('_updateGlobalState'); 447 let _updateGlobalState = Symbol('_updateGlobalState');
448 let _setGlobals = Symbol('_setGlobals'); 448 let _setGlobals = Symbol('_setGlobals');
449 let _addRegistration = Symbol('_addRegistration'); 449 let _addRegistration = Symbol('_addRegistration');
450 class _IsolateContext extends core.Object { 450 class _IsolateContext extends core.Object {
451 _IsolateContext() { 451 _IsolateContext() {
452 this.id = (($tmp) => exports._globalState.nextIsolateId = dart.notNull($tm p) + 1, $tmp).bind(this)(exports._globalState.nextIsolateId); 452 this.id = ((x) => exports._globalState.nextIsolateId = dart.notNull(x$) + 1, x$).bind(this)(exports._globalState.nextIsolateId);
453 this.ports = new core.Map(); 453 this.ports = new core.Map();
454 this.weakPorts = new core.Set(); 454 this.weakPorts = new core.Set();
455 this.isolateStatics = _foreign_helper.JS_CREATE_ISOLATE(); 455 this.isolateStatics = _foreign_helper.JS_CREATE_ISOLATE();
456 this.controlPort = new RawReceivePortImpl._controlPort(); 456 this.controlPort = new RawReceivePortImpl._controlPort();
457 this.pauseCapability = new isolate.Capability(); 457 this.pauseCapability = new isolate.Capability();
458 this.terminateCapability = new isolate.Capability(); 458 this.terminateCapability = new isolate.Capability();
459 this.delayedEvents = dart.as(new List.from([]), core.List$(_IsolateEvent)) ; 459 this.delayedEvents = dart.as(new List.from([]), core.List$(_IsolateEvent)) ;
460 this.pauseTokens = dart.as(new core.Set(), core.Set$(isolate.Capability)); 460 this.pauseTokens = dart.as(new core.Set(), core.Set$(isolate.Capability));
461 this.errorPorts = dart.as(new core.Set(), core.Set$(isolate.SendPort)); 461 this.errorPorts = dart.as(new core.Set(), core.Set$(isolate.SendPort));
462 this.initialized = false; 462 this.initialized = false;
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 }, 771 },
772 get globalWorker() { 772 get globalWorker() {
773 _js_helper.requiresPreamble(); 773 _js_helper.requiresPreamble();
774 return self.Worker; 774 return self.Worker;
775 }, 775 },
776 get globalPostMessageDefined() { 776 get globalPostMessageDefined() {
777 _js_helper.requiresPreamble(); 777 _js_helper.requiresPreamble();
778 return !!self.postMessage; 778 return !!self.postMessage;
779 } 779 }
780 }); 780 });
781 let _getEventData = Symbol('_getEventData'); 781 let _getEventData$ = Symbol('_getEventData');
782 let _log = Symbol('_log'); 782 let _log$ = Symbol('_log');
783 let _consoleLog = Symbol('_consoleLog'); 783 let _consoleLog$ = Symbol('_consoleLog');
784 let _getJSFunctionFromName = Symbol('_getJSFunctionFromName'); 784 let _getJSFunctionFromName$ = Symbol('_getJSFunctionFromName');
785 let _getJSFunctionName = Symbol('_getJSFunctionName'); 785 let _getJSFunctionName$ = Symbol('_getJSFunctionName');
786 let _allocate = Symbol('_allocate'); 786 let _allocate = Symbol('_allocate');
787 let _startWorker = Symbol('_startWorker'); 787 let _startWorker$ = Symbol('_startWorker');
788 let _startNonWorker = Symbol('_startNonWorker'); 788 let _startNonWorker$ = Symbol('_startNonWorker');
789 let _startIsolate = Symbol('_startIsolate'); 789 let _startIsolate$ = Symbol('_startIsolate');
790 let _spawnWorker = Symbol('_spawnWorker'); 790 let _spawnWorker$ = Symbol('_spawnWorker');
791 class IsolateNatives extends core.Object { 791 class IsolateNatives extends core.Object {
792 static computeThisScript() { 792 static computeThisScript() {
793 let currentScript = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_na mes.CURRENT_SCRIPT); 793 let currentScript = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_na mes.CURRENT_SCRIPT);
794 if (currentScript !== null) { 794 if (currentScript !== null) {
795 return String(currentScript.src); 795 return String(currentScript.src);
796 } 796 }
797 if (_js_helper.Primitives.isD8) 797 if (_js_helper.Primitives.isD8)
798 return computeThisScriptD8(); 798 return computeThisScriptD8();
799 if (_js_helper.Primitives.isJsshell) 799 if (_js_helper.Primitives.isJsshell)
800 return computeThisScriptJsshell(); 800 return computeThisScriptJsshell();
(...skipping 25 matching lines...) Expand all
826 pattern = new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "m"); 826 pattern = new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "m");
827 matches = stack.match(pattern); 827 matches = stack.match(pattern);
828 if (matches !== null) 828 if (matches !== null)
829 return matches[1]; 829 return matches[1];
830 pattern = new RegExp("^[^@]*@(.*):[0-9]*$", "m"); 830 pattern = new RegExp("^[^@]*@(.*):[0-9]*$", "m");
831 matches = stack.match(pattern); 831 matches = stack.match(pattern);
832 if (matches !== null) 832 if (matches !== null)
833 return matches[1]; 833 return matches[1];
834 throw new core.UnsupportedError(`Cannot extract URI from "${stack}"`); 834 throw new core.UnsupportedError(`Cannot extract URI from "${stack}"`);
835 } 835 }
836 static [_getEventData](e) { 836 static [_getEventData$](e) {
837 return e.data; 837 return e.data;
838 } 838 }
839 static [_processWorkerMessage](sender, e) { 839 static [_processWorkerMessage$](sender, e) {
840 let msg = _deserializeMessage(_getEventData(e)); 840 let msg = _deserializeMessage(_getEventData(e));
841 switch (dart.dindex(msg, 'command')) { 841 switch (dart.dindex(msg, 'command')) {
842 case 'start': 842 case 'start':
843 exports._globalState.currentManagerId = dart.as(dart.dindex(msg, 'id') , core.int); 843 exports._globalState.currentManagerId = dart.as(dart.dindex(msg, 'id') , core.int);
844 let functionName = dart.as(dart.dindex(msg, 'functionName'), core.Stri ng); 844 let functionName = dart.as(dart.dindex(msg, 'functionName'), core.Stri ng);
845 let entryPoint = dart.as(functionName === null ? exports._globalState. entry : _getJSFunctionFromName(functionName), core.Function); 845 let entryPoint = dart.as(functionName === null ? exports._globalState. entry : _getJSFunctionFromName(functionName), core.Function);
846 let args = dart.dindex(msg, 'args'); 846 let args = dart.dindex(msg, 'args');
847 let message = _deserializeMessage(dart.dindex(msg, 'msg')); 847 let message = _deserializeMessage(dart.dindex(msg, 'msg'));
848 let isSpawnUri = dart.dindex(msg, 'isSpawnUri'); 848 let isSpawnUri = dart.dindex(msg, 'isSpawnUri');
849 let startPaused = dart.dindex(msg, 'startPaused'); 849 let startPaused = dart.dindex(msg, 'startPaused');
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 static handleSpawnWorkerRequest(msg) { 888 static handleSpawnWorkerRequest(msg) {
889 let replyPort = dart.dindex(msg, 'replyPort'); 889 let replyPort = dart.dindex(msg, 'replyPort');
890 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, 'isSpawn Uri'), core.bool), dart.as(dart.dindex(msg, 'startPaused'), core.bool)).then(dar t.closureWrap((msg) => { 890 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, 'isSpawn Uri'), core.bool), dart.as(dart.dindex(msg, 'startPaused'), core.bool)).then(dar t.closureWrap((msg) => {
891 dart.dinvoke(replyPort, 'send', msg); 891 dart.dinvoke(replyPort, 'send', msg);
892 }, "(List<dynamic>) → dynamic"), { 892 }, "(List<dynamic>) → dynamic"), {
893 onError: (errorMessage) => { 893 onError: (errorMessage) => {
894 dart.dinvoke(replyPort, 'send', new List.from([_SPAWN_FAILED_SIGNAL, e rrorMessage])); 894 dart.dinvoke(replyPort, 'send', new List.from([_SPAWN_FAILED_SIGNAL, e rrorMessage]));
895 } 895 }
896 }); 896 });
897 } 897 }
898 static [_log](msg) { 898 static [_log$](msg) {
899 if (exports._globalState.isWorker) { 899 if (exports._globalState.isWorker) {
900 exports._globalState.mainManager.postMessage(_serializeMessage(dart.map( {command: 'log', msg: msg}))); 900 exports._globalState.mainManager.postMessage(_serializeMessage(dart.map( {command: 'log', msg: msg})));
901 } else { 901 } else {
902 try { 902 try {
903 _consoleLog(msg); 903 _consoleLog(msg);
904 } catch (e) { 904 } catch (e) {
905 let trace = dart.stackTrace(e); 905 let trace = dart.stackTrace(e);
906 throw new core.Exception(trace); 906 throw new core.Exception(trace);
907 } 907 }
908 908
909 } 909 }
910 } 910 }
911 static [_consoleLog](msg) { 911 static [_consoleLog$](msg) {
912 _js_helper.requiresPreamble(); 912 _js_helper.requiresPreamble();
913 self.console.log(msg); 913 self.console.log(msg);
914 } 914 }
915 static [_getJSFunctionFromName](functionName) { 915 static [_getJSFunctionFromName$](functionName) {
916 let globalFunctionsContainer = _foreign_helper.JS_EMBEDDED_GLOBAL("", _js_ embedded_names.GLOBAL_FUNCTIONS); 916 let globalFunctionsContainer = _foreign_helper.JS_EMBEDDED_GLOBAL("", _js_ embedded_names.GLOBAL_FUNCTIONS);
917 return globalFunctionsContainer[functionName](); 917 return globalFunctionsContainer[functionName]();
918 } 918 }
919 static [_getJSFunctionName](f) { 919 static [_getJSFunctionName$](f) {
920 return dart.as(dart.is(f, _js_helper.Closure) ? f.$name : null, core.Strin g); 920 return dart.as(dart.is(f, _js_helper.Closure) ? f.$name : null, core.Strin g);
921 } 921 }
922 static [_allocate](ctor) { 922 static [_allocate](ctor) {
923 return new ctor(); 923 return new ctor();
924 } 924 }
925 static spawnFunction(topLevelFunction, message, startPaused) { 925 static spawnFunction(topLevelFunction, message, startPaused) {
926 IsolateNatives.enableSpawnWorker = true; 926 IsolateNatives.enableSpawnWorker = true;
927 let name = _getJSFunctionName(topLevelFunction); 927 let name = _getJSFunctionName(topLevelFunction);
928 if (name === null) { 928 if (name === null) {
929 throw new core.UnsupportedError("only top-level functions can be spawned ."); 929 throw new core.UnsupportedError("only top-level functions can be spawned .");
(...skipping 22 matching lines...) Expand all
952 } 952 }
953 }).bind(this)); 953 }).bind(this));
954 let signalReply = port.sendPort; 954 let signalReply = port.sendPort;
955 if (dart.notNull(exports._globalState.useWorkers) && !dart.notNull(isLight )) { 955 if (dart.notNull(exports._globalState.useWorkers) && !dart.notNull(isLight )) {
956 _startWorker(functionName, uri, args, message, isSpawnUri, startPaused, signalReply, ((message) => completer.completeError(message)).bind(this)); 956 _startWorker(functionName, uri, args, message, isSpawnUri, startPaused, signalReply, ((message) => completer.completeError(message)).bind(this));
957 } else { 957 } else {
958 _startNonWorker(functionName, uri, args, message, isSpawnUri, startPause d, signalReply); 958 _startNonWorker(functionName, uri, args, message, isSpawnUri, startPause d, signalReply);
959 } 959 }
960 return completer.future; 960 return completer.future;
961 } 961 }
962 static [_startWorker](functionName, uri, args, message, isSpawnUri, startPau sed, replyPort, onError) { 962 static [_startWorker$](functionName, uri, args, message, isSpawnUri, startPa used, replyPort, onError) {
963 if (args !== null) 963 if (args !== null)
964 args = new core.List.from(args); 964 args = new core.List.from(args);
965 if (exports._globalState.isWorker) { 965 if (exports._globalState.isWorker) {
966 exports._globalState.mainManager.postMessage(_serializeMessage(dart.map( {command: 'spawn-worker', functionName: functionName, args: args, msg: message, uri: uri, isSpawnUri: isSpawnUri, startPaused: startPaused, replyPort: replyPort }))); 966 exports._globalState.mainManager.postMessage(_serializeMessage(dart.map( {command: 'spawn-worker', functionName: functionName, args: args, msg: message, uri: uri, isSpawnUri: isSpawnUri, startPaused: startPaused, replyPort: replyPort })));
967 } else { 967 } else {
968 _spawnWorker(functionName, uri, args, message, isSpawnUri, startPaused, replyPort, onError); 968 _spawnWorker(functionName, uri, args, message, isSpawnUri, startPaused, replyPort, onError);
969 } 969 }
970 } 970 }
971 static [_startNonWorker](functionName, uri, args, message, isSpawnUri, start Paused, replyPort) { 971 static [_startNonWorker$](functionName, uri, args, message, isSpawnUri, star tPaused, replyPort) {
972 if (uri !== null) { 972 if (uri !== null) {
973 throw new core.UnsupportedError("Currently spawnUri is not supported wit hout web workers."); 973 throw new core.UnsupportedError("Currently spawnUri is not supported wit hout web workers.");
974 } 974 }
975 message = _clone(message); 975 message = _clone(message);
976 if (args !== null) 976 if (args !== null)
977 args = new core.List.from(args); 977 args = new core.List.from(args);
978 exports._globalState.topEventLoop.enqueue(new _IsolateContext(), () => { 978 exports._globalState.topEventLoop.enqueue(new _IsolateContext(), () => {
979 let func = _getJSFunctionFromName(functionName); 979 let func = _getJSFunctionFromName(functionName);
980 _startIsolate(dart.as(func, core.Function), args, message, isSpawnUri, s tartPaused, replyPort); 980 _startIsolate(dart.as(func, core.Function), args, message, isSpawnUri, s tartPaused, replyPort);
981 }, 'nonworker start'); 981 }, 'nonworker start');
982 } 982 }
983 static get currentIsolate() { 983 static get currentIsolate() {
984 let context = dart.as(_foreign_helper.JS_CURRENT_ISOLATE_CONTEXT(), _Isola teContext); 984 let context = dart.as(_foreign_helper.JS_CURRENT_ISOLATE_CONTEXT(), _Isola teContext);
985 return new isolate.Isolate(context.controlPort.sendPort, {pauseCapability: context.pauseCapability, terminateCapability: context.terminateCapability}); 985 return new isolate.Isolate(context.controlPort.sendPort, {pauseCapability: context.pauseCapability, terminateCapability: context.terminateCapability});
986 } 986 }
987 static [_startIsolate](topLevel, args, message, isSpawnUri, startPaused, rep lyTo) { 987 static [_startIsolate$](topLevel, args, message, isSpawnUri, startPaused, re plyTo) {
988 let context = dart.as(_foreign_helper.JS_CURRENT_ISOLATE_CONTEXT(), _Isola teContext); 988 let context = dart.as(_foreign_helper.JS_CURRENT_ISOLATE_CONTEXT(), _Isola teContext);
989 _js_helper.Primitives.initializeStatics(context.id); 989 _js_helper.Primitives.initializeStatics(context.id);
990 replyTo.send(new List.from([_SPAWNED_SIGNAL, context.controlPort.sendPort, context.pauseCapability, context.terminateCapability])); 990 replyTo.send(new List.from([_SPAWNED_SIGNAL, context.controlPort.sendPort, context.pauseCapability, context.terminateCapability]));
991 // Function runStartFunction: () → void 991 // Function runStartFunction: () → void
992 function runStartFunction() { 992 function runStartFunction() {
993 context.initialized = true; 993 context.initialized = true;
994 if (!dart.notNull(isSpawnUri)) { 994 if (!dart.notNull(isSpawnUri)) {
995 dart.dinvokef(topLevel, message); 995 dart.dinvokef(topLevel, message);
996 } else if (dart.is(topLevel, _MainFunctionArgsMessage)) { 996 } else if (dart.is(topLevel, _MainFunctionArgsMessage)) {
997 dart.dinvokef(topLevel, args, message); 997 dart.dinvokef(topLevel, args, message);
998 } else if (dart.is(topLevel, _MainFunctionArgs)) { 998 } else if (dart.is(topLevel, _MainFunctionArgs)) {
999 dart.dinvokef(topLevel, args); 999 dart.dinvokef(topLevel, args);
1000 } else { 1000 } else {
1001 dart.dinvokef(topLevel); 1001 dart.dinvokef(topLevel);
1002 } 1002 }
1003 } 1003 }
1004 if (startPaused) { 1004 if (startPaused) {
1005 context.addPause(context.pauseCapability, context.pauseCapability); 1005 context.addPause(context.pauseCapability, context.pauseCapability);
1006 exports._globalState.topEventLoop.enqueue(context, runStartFunction, 'st art isolate'); 1006 exports._globalState.topEventLoop.enqueue(context, runStartFunction, 'st art isolate');
1007 } else { 1007 } else {
1008 runStartFunction(); 1008 runStartFunction();
1009 } 1009 }
1010 } 1010 }
1011 static [_spawnWorker](functionName, uri, args, message, isSpawnUri, startPau sed, replyPort, onError) { 1011 static [_spawnWorker$](functionName, uri, args, message, isSpawnUri, startPa used, replyPort, onError) {
1012 if (uri === null) 1012 if (uri === null)
1013 uri = thisScript; 1013 uri = thisScript;
1014 let worker = new Worker(uri); 1014 let worker = new Worker(uri);
1015 let onerrorTrampoline = function(f, u, c) { 1015 let onerrorTrampoline = function(f, u, c) {
1016 return function(e) { 1016 return function(e) {
1017 return f(e, u, c); 1017 return f(e, u, c);
1018 }; 1018 };
1019 }(_foreign_helper.DART_CLOSURE_TO_JS(workerOnError), uri, onError); 1019 }(_foreign_helper.DART_CLOSURE_TO_JS(workerOnError), uri, onError);
1020 worker.onerror = onerrorTrampoline; 1020 worker.onerror = onerrorTrampoline;
1021 let processWorkerMessageTrampoline = function(f, a) { 1021 let processWorkerMessageTrampoline = function(f, a) {
1022 return function(e) { 1022 return function(e) {
1023 e.onerror = null; 1023 e.onerror = null;
1024 return f(a, e); 1024 return f(a, e);
1025 }; 1025 };
1026 }(_foreign_helper.DART_CLOSURE_TO_JS(_processWorkerMessage), worker); 1026 }(_foreign_helper.DART_CLOSURE_TO_JS(_processWorkerMessage), worker);
1027 worker.onmessage = processWorkerMessageTrampoline; 1027 worker.onmessage = processWorkerMessageTrampoline;
1028 let workerId = (($tmp) => exports._globalState.nextManagerId = dart.notNul l($tmp) + 1, $tmp).bind(this)(exports._globalState.nextManagerId); 1028 let workerId = ((x) => exports._globalState.nextManagerId = dart.notNull(x $) + 1, x$).bind(this)(exports._globalState.nextManagerId);
1029 workerIds.set(worker, workerId); 1029 workerIds.set(worker, workerId);
1030 exports._globalState.managers.set(workerId, worker); 1030 exports._globalState.managers.set(workerId, worker);
1031 worker.postMessage(_serializeMessage(dart.map({command: 'start', id: worke rId, replyTo: _serializeMessage(replyPort), args: args, msg: _serializeMessage(m essage), isSpawnUri: isSpawnUri, startPaused: startPaused, functionName: functio nName}))); 1031 worker.postMessage(_serializeMessage(dart.map({command: 'start', id: worke rId, replyTo: _serializeMessage(replyPort), args: args, msg: _serializeMessage(m essage), isSpawnUri: isSpawnUri, startPaused: startPaused, functionName: functio nName})));
1032 } 1032 }
1033 static workerOnError(event, uri, onError) { 1033 static workerOnError(event, uri, onError) {
1034 event.preventDefault(); 1034 event.preventDefault();
1035 let message = dart.as(event.message, core.String); 1035 let message = dart.as(event.message, core.String);
1036 if (message === null) { 1036 if (message === null) {
1037 message = `Error spawning worker for ${uri}`; 1037 message = `Error spawning worker for ${uri}`;
1038 } else { 1038 } else {
1039 message = `Error spawning worker for ${uri} (${message})`; 1039 message = `Error spawning worker for ${uri} (${message})`;
1040 } 1040 }
1041 onError(message); 1041 onError(message);
1042 return true; 1042 return true;
1043 } 1043 }
1044 } 1044 }
1045 IsolateNatives.enableSpawnWorker = null; 1045 IsolateNatives.enableSpawnWorker = null;
1046 dart.defineLazyProperties(IsolateNatives, { 1046 dart.defineLazyProperties(IsolateNatives, {
1047 get thisScript() { 1047 get thisScript() {
1048 return computeThisScript(); 1048 return computeThisScript();
1049 }, 1049 },
1050 set thisScript(_) {}, 1050 set thisScript(_) {},
1051 get workerIds() { 1051 get workerIds() {
1052 return new core.Expando(); 1052 return new core.Expando();
1053 } 1053 }
1054 }); 1054 });
1055 let _checkReplyTo = Symbol('_checkReplyTo'); 1055 let _checkReplyTo = Symbol('_checkReplyTo');
1056 class _BaseSendPort extends core.Object { 1056 class _BaseSendPort extends core.Object {
1057 _BaseSendPort($_isolateId) { 1057 _BaseSendPort(isolateId$) {
1058 this[_isolateId] = $_isolateId; 1058 this[_isolateId] = isolateId$;
1059 } 1059 }
1060 [_checkReplyTo](replyTo) { 1060 [_checkReplyTo](replyTo) {
1061 if (dart.notNull(replyTo !== null) && dart.notNull(!dart.is(replyTo, _Nati veJsSendPort)) && dart.notNull(!dart.is(replyTo, _WorkerSendPort))) { 1061 if (dart.notNull(replyTo !== null) && dart.notNull(!dart.is(replyTo, _Nati veJsSendPort)) && dart.notNull(!dart.is(replyTo, _WorkerSendPort))) {
1062 throw new core.Exception("SendPort.send: Illegal replyTo port type"); 1062 throw new core.Exception("SendPort.send: Illegal replyTo port type");
1063 } 1063 }
1064 } 1064 }
1065 } 1065 }
1066 let _isClosed = Symbol('_isClosed'); 1066 let _isClosed = Symbol('_isClosed');
1067 class _NativeJsSendPort extends _BaseSendPort { 1067 class _NativeJsSendPort extends _BaseSendPort {
1068 _NativeJsSendPort($_receivePort, isolateId) { 1068 _NativeJsSendPort(receivePort$, isolateId) {
1069 this[_receivePort] = $_receivePort; 1069 this[_receivePort] = receivePort$;
1070 super._BaseSendPort(isolateId); 1070 super._BaseSendPort(isolateId);
1071 } 1071 }
1072 send(message) { 1072 send(message) {
1073 let isolate = exports._globalState.isolates.get(this[_isolateId]); 1073 let isolate = exports._globalState.isolates.get(this[_isolateId]);
1074 if (isolate === null) 1074 if (isolate === null)
1075 return; 1075 return;
1076 if (this[_receivePort][_isClosed]) 1076 if (this[_receivePort][_isClosed])
1077 return; 1077 return;
1078 let msg = _clone(message); 1078 let msg = _clone(message);
1079 if (dart.equals(isolate.controlPort, this[_receivePort])) { 1079 if (dart.equals(isolate.controlPort, this[_receivePort])) {
1080 isolate.handleControlMessage(msg); 1080 isolate.handleControlMessage(msg);
1081 return; 1081 return;
1082 } 1082 }
1083 exports._globalState.topEventLoop.enqueue(isolate, (() => { 1083 exports._globalState.topEventLoop.enqueue(isolate, (() => {
1084 if (!dart.notNull(this[_receivePort][_isClosed])) { 1084 if (!dart.notNull(this[_receivePort][_isClosed])) {
1085 this[_receivePort]._add(msg); 1085 this[_receivePort]._add(msg);
1086 } 1086 }
1087 }).bind(this), `receive ${message}`); 1087 }).bind(this), `receive ${message}`);
1088 } 1088 }
1089 ['=='](other) { 1089 ['=='](other) {
1090 return dart.notNull(dart.is(other, _NativeJsSendPort)) && dart.notNull(dar t.equals(this[_receivePort], dart.dload(other, '_receivePort'))); 1090 return dart.notNull(dart.is(other, _NativeJsSendPort)) && dart.notNull(dar t.equals(this[_receivePort], dart.dload(other, '_receivePort')));
1091 } 1091 }
1092 get hashCode() { 1092 get hashCode() {
1093 return this[_receivePort][_id]; 1093 return this[_receivePort][_id];
1094 } 1094 }
1095 } 1095 }
1096 class _WorkerSendPort extends _BaseSendPort { 1096 class _WorkerSendPort extends _BaseSendPort {
1097 _WorkerSendPort($_workerId, isolateId, $_receivePortId) { 1097 _WorkerSendPort(workerId$, isolateId, receivePortId$) {
1098 this[_workerId] = $_workerId; 1098 this[_workerId] = workerId$;
1099 this[_receivePortId] = $_receivePortId; 1099 this[_receivePortId] = receivePortId$;
1100 super._BaseSendPort(isolateId); 1100 super._BaseSendPort(isolateId);
1101 } 1101 }
1102 send(message) { 1102 send(message) {
1103 let workerMessage = _serializeMessage(dart.map({command: 'message', port: this, msg: message})); 1103 let workerMessage = _serializeMessage(dart.map({command: 'message', port: this, msg: message}));
1104 if (exports._globalState.isWorker) { 1104 if (exports._globalState.isWorker) {
1105 exports._globalState.mainManager.postMessage(workerMessage); 1105 exports._globalState.mainManager.postMessage(workerMessage);
1106 } else { 1106 } else {
1107 let manager = exports._globalState.managers.get(this[_workerId]); 1107 let manager = exports._globalState.managers.get(this[_workerId]);
1108 if (manager !== null) { 1108 if (manager !== null) {
1109 manager.postMessage(workerMessage); 1109 manager.postMessage(workerMessage);
1110 } 1110 }
1111 } 1111 }
1112 } 1112 }
1113 ['=='](other) { 1113 ['=='](other) {
1114 return dart.notNull(dart.is(other, _WorkerSendPort)) && this[_workerId] == = dart.dload(other, '_workerId') && this[_isolateId] === dart.dload(other, '_iso lateId') && this[_receivePortId] === dart.dload(other, '_receivePortId'); 1114 return dart.notNull(dart.is(other, _WorkerSendPort)) && this[_workerId] == = dart.dload(other, '_workerId') && this[_isolateId] === dart.dload(other, '_iso lateId') && this[_receivePortId] === dart.dload(other, '_receivePortId');
1115 } 1115 }
1116 get hashCode() { 1116 get hashCode() {
1117 return dart.notNull(this[_workerId]) << 16 ^ dart.notNull(this[_isolateId] ) << 8 ^ dart.notNull(this[_receivePortId]); 1117 return dart.notNull(this[_workerId]) << 16 ^ dart.notNull(this[_isolateId] ) << 8 ^ dart.notNull(this[_receivePortId]);
1118 } 1118 }
1119 } 1119 }
1120 let _handler = Symbol('_handler'); 1120 let _handler = Symbol('_handler');
1121 let _close = Symbol('_close'); 1121 let _close = Symbol('_close');
1122 let _add = Symbol('_add'); 1122 let _add = Symbol('_add');
1123 class RawReceivePortImpl extends core.Object { 1123 class RawReceivePortImpl extends core.Object {
1124 RawReceivePortImpl($_handler) { 1124 RawReceivePortImpl(handler) {
1125 this[_handler] = $_handler; 1125 this[_handler] = handler;
1126 this[_id] = (($tmp) => _nextFreeId = dart.notNull($tmp) + 1, $tmp)(_nextFr eeId); 1126 this[_id] = ((x) => _nextFreeId = dart.notNull(x$) + 1, x$)(_nextFreeId);
1127 this[_isClosed] = false; 1127 this[_isClosed] = false;
1128 exports._globalState.currentContext.register(this[_id], this); 1128 exports._globalState.currentContext.register(this[_id], this);
1129 } 1129 }
1130 RawReceivePortImpl$weak($_handler) { 1130 RawReceivePortImpl$weak(handler) {
1131 this[_handler] = $_handler; 1131 this[_handler] = handler;
1132 this[_id] = (($tmp) => _nextFreeId = dart.notNull($tmp) + 1, $tmp)(_nextFr eeId); 1132 this[_id] = ((x) => _nextFreeId = dart.notNull(x$) + 1, x$)(_nextFreeId);
1133 this[_isClosed] = false; 1133 this[_isClosed] = false;
1134 exports._globalState.currentContext.registerWeak(this[_id], this); 1134 exports._globalState.currentContext.registerWeak(this[_id], this);
1135 } 1135 }
1136 RawReceivePortImpl$_controlPort() { 1136 RawReceivePortImpl$_controlPort() {
1137 this[_handler] = null; 1137 this[_handler] = null;
1138 this[_id] = 0; 1138 this[_id] = 0;
1139 this[_isClosed] = false; 1139 this[_isClosed] = false;
1140 } 1140 }
1141 set handler(newHandler) { 1141 set handler(newHandler) {
1142 this[_handler] = newHandler; 1142 this[_handler] = newHandler;
(...skipping 23 matching lines...) Expand all
1166 RawReceivePortImpl._nextFreeId = 1; 1166 RawReceivePortImpl._nextFreeId = 1;
1167 let _rawPort = Symbol('_rawPort'); 1167 let _rawPort = Symbol('_rawPort');
1168 let _controller = Symbol('_controller'); 1168 let _controller = Symbol('_controller');
1169 class ReceivePortImpl extends async.Stream { 1169 class ReceivePortImpl extends async.Stream {
1170 ReceivePortImpl() { 1170 ReceivePortImpl() {
1171 this.ReceivePortImpl$fromRawReceivePort(new RawReceivePortImpl(null)); 1171 this.ReceivePortImpl$fromRawReceivePort(new RawReceivePortImpl(null));
1172 } 1172 }
1173 ReceivePortImpl$weak() { 1173 ReceivePortImpl$weak() {
1174 this.ReceivePortImpl$fromRawReceivePort(new RawReceivePortImpl.weak(null)) ; 1174 this.ReceivePortImpl$fromRawReceivePort(new RawReceivePortImpl.weak(null)) ;
1175 } 1175 }
1176 ReceivePortImpl$fromRawReceivePort($_rawPort) { 1176 ReceivePortImpl$fromRawReceivePort(rawPort) {
1177 this[_rawPort] = $_rawPort; 1177 this[_rawPort] = rawPort;
1178 this[_controller] = null; 1178 this[_controller] = null;
1179 super.Stream(); 1179 super.Stream();
1180 this[_controller] = new async.StreamController({onCancel: this.close, sync : true}); 1180 this[_controller] = new async.StreamController({onCancel: this.close, sync : true});
1181 this[_rawPort].handler = this[_controller].add; 1181 this[_rawPort].handler = this[_controller].add;
1182 } 1182 }
1183 listen(onData, opt$) { 1183 listen(onData, opts) {
1184 let onError = opt$ && 'onError' in opt$ ? opt$.onError : null; 1184 let onError = opts && 'onError' in opts ? opts.onError : null;
1185 let onDone = opt$ && 'onDone' in opt$ ? opt$.onDone : null; 1185 let onDone = opts && 'onDone' in opts ? opts.onDone : null;
1186 let cancelOnError = opt$ && 'cancelOnError' in opt$ ? opt$.cancelOnError : null; 1186 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
1187 return this[_controller].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError}); 1187 return this[_controller].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
1188 } 1188 }
1189 close() { 1189 close() {
1190 this[_rawPort].close(); 1190 this[_rawPort].close();
1191 this[_controller].close(); 1191 this[_controller].close();
1192 } 1192 }
1193 get sendPort() { 1193 get sendPort() {
1194 return this[_rawPort].sendPort; 1194 return this[_rawPort].sendPort;
1195 } 1195 }
1196 } 1196 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 dart.defineNamedConstructor(TimerImpl, 'periodic'); 1265 dart.defineNamedConstructor(TimerImpl, 'periodic');
1266 // Function hasTimer: () → bool 1266 // Function hasTimer: () → bool
1267 function hasTimer() { 1267 function hasTimer() {
1268 _js_helper.requiresPreamble(); 1268 _js_helper.requiresPreamble();
1269 return self.setTimeout !== null; 1269 return self.setTimeout !== null;
1270 } 1270 }
1271 class CapabilityImpl extends core.Object { 1271 class CapabilityImpl extends core.Object {
1272 CapabilityImpl() { 1272 CapabilityImpl() {
1273 this.CapabilityImpl$_internal(_js_helper.random64()); 1273 this.CapabilityImpl$_internal(_js_helper.random64());
1274 } 1274 }
1275 CapabilityImpl$_internal($_id) { 1275 CapabilityImpl$_internal(id) {
1276 this[_id] = $_id; 1276 this[_id] = id;
1277 } 1277 }
1278 get hashCode() { 1278 get hashCode() {
1279 let hash = this[_id]; 1279 let hash = this[_id];
1280 hash = dart.notNull(hash) >> 0 ^ (dart.notNull(hash) / 4294967296).truncat e(); 1280 hash = dart.notNull(hash) >> 0 ^ (dart.notNull(hash) / 4294967296).truncat e();
1281 hash = ~dart.notNull(hash) + (dart.notNull(hash) << 15) & 4294967295; 1281 hash = ~dart.notNull(hash) + (dart.notNull(hash) << 15) & 4294967295;
1282 hash = dart.notNull(hash) >> 12; 1282 hash = dart.notNull(hash) >> 12;
1283 hash = dart.notNull(hash) * 5 & 4294967295; 1283 hash = dart.notNull(hash) * 5 & 4294967295;
1284 hash = dart.notNull(hash) >> 4; 1284 hash = dart.notNull(hash) >> 4;
1285 hash = dart.notNull(hash) * 2057 & 4294967295; 1285 hash = dart.notNull(hash) * 2057 & 4294967295;
1286 hash = dart.notNull(hash) >> 16; 1286 hash = dart.notNull(hash) >> 16;
(...skipping 14 matching lines...) Expand all
1301 exports.leaveJsAsync = leaveJsAsync; 1301 exports.leaveJsAsync = leaveJsAsync;
1302 exports.isWorker = isWorker; 1302 exports.isWorker = isWorker;
1303 exports.startRootIsolate = startRootIsolate; 1303 exports.startRootIsolate = startRootIsolate;
1304 exports.IsolateNatives = IsolateNatives; 1304 exports.IsolateNatives = IsolateNatives;
1305 exports.RawReceivePortImpl = RawReceivePortImpl; 1305 exports.RawReceivePortImpl = RawReceivePortImpl;
1306 exports.ReceivePortImpl = ReceivePortImpl; 1306 exports.ReceivePortImpl = ReceivePortImpl;
1307 exports.TimerImpl = TimerImpl; 1307 exports.TimerImpl = TimerImpl;
1308 exports.hasTimer = hasTimer; 1308 exports.hasTimer = hasTimer;
1309 exports.CapabilityImpl = CapabilityImpl; 1309 exports.CapabilityImpl = CapabilityImpl;
1310 })(_isolate_helper || (_isolate_helper = {})); 1310 })(_isolate_helper || (_isolate_helper = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698