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

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

Issue 1783603009: simplify function coercions -- DDC can generate function types in place (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 9 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 dart_library.library('dart/_isolate_helper', null, /* Imports */[ 1 dart_library.library('dart/_isolate_helper', null, /* Imports */[
2 'dart/_runtime', 2 'dart/_runtime',
3 'dart/core', 3 'dart/core',
4 'dart/_native_typed_data', 4 'dart/_native_typed_data',
5 'dart/_interceptors', 5 'dart/_interceptors',
6 'dart/_js_helper', 6 'dart/_js_helper',
7 'dart/isolate', 7 'dart/isolate',
8 'dart/_foreign_helper', 8 'dart/_foreign_helper',
9 'dart/_js_embedded_names', 9 'dart/_js_embedded_names',
10 'dart/collection', 10 'dart/collection',
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 return serialized; 98 return serialized;
99 } 99 }
100 serializeArrayInPlace(x) { 100 serializeArrayInPlace(x) {
101 for (let i = 0; i < dart.notNull(x[dartx.length]); i++) { 101 for (let i = 0; i < dart.notNull(x[dartx.length]); i++) {
102 x[dartx.set](i, this.serialize(x[dartx.get](i))); 102 x[dartx.set](i, this.serialize(x[dartx.get](i)));
103 } 103 }
104 return x; 104 return x;
105 } 105 }
106 serializeMap(x) { 106 serializeMap(x) {
107 let serializeTearOff = dart.bind(this, 'serialize'); 107 let serializeTearOff = dart.bind(this, 'serialize');
108 return dart.list(['map', x[dartx.keys][dartx.map](dart.as(serializeTearOff , __CastType0))[dartx.toList](), x[dartx.values][dartx.map](dart.as(serializeTea rOff, dart.functionType(dart.dynamic, [dart.dynamic])))[dartx.toList]()], core.O bject); 108 return dart.list(['map', x[dartx.keys][dartx.map](dart.as(serializeTearOff , dart.functionType(dart.dynamic, [dart.dynamic])))[dartx.toList](), x[dartx.val ues][dartx.map](dart.as(serializeTearOff, dart.functionType(dart.dynamic, [dart. dynamic])))[dartx.toList]()], core.Object);
109 } 109 }
110 serializeJSObject(x) { 110 serializeJSObject(x) {
111 if (!!x.constructor && x.constructor !== Object) { 111 if (!!x.constructor && x.constructor !== Object) {
112 this.unsupported(x, "Only plain JS Objects are supported:"); 112 this.unsupported(x, "Only plain JS Objects are supported:");
113 } 113 }
114 let keys = dart.as(Object.keys(x), core.List); 114 let keys = dart.as(Object.keys(x), core.List);
115 let values = []; 115 let values = [];
116 values[dartx.length] = keys[dartx.length]; 116 values[dartx.length] = keys[dartx.length];
117 for (let i = 0; i < dart.notNull(keys[dartx.length]); i++) { 117 for (let i = 0; i < dart.notNull(keys[dartx.length]); i++) {
118 values[dartx.set](i, this.serialize(x[keys[dartx.get](i)])); 118 values[dartx.set](i, this.serialize(x[keys[dartx.get](i)]));
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 deserializeMutable: [core.List, [dart.dynamic]], 375 deserializeMutable: [core.List, [dart.dynamic]],
376 deserializeConst: [core.List, [dart.dynamic]], 376 deserializeConst: [core.List, [dart.dynamic]],
377 deserializeMap: [core.Map, [dart.dynamic]], 377 deserializeMap: [core.Map, [dart.dynamic]],
378 deserializeSendPort: [isolate.SendPort, [dart.dynamic]], 378 deserializeSendPort: [isolate.SendPort, [dart.dynamic]],
379 deserializeRawSendPort: [isolate.SendPort, [dart.dynamic]], 379 deserializeRawSendPort: [isolate.SendPort, [dart.dynamic]],
380 deserializeJSObject: [dart.dynamic, [dart.dynamic]], 380 deserializeJSObject: [dart.dynamic, [dart.dynamic]],
381 deserializeClosure: [core.Function, [dart.dynamic]], 381 deserializeClosure: [core.Function, [dart.dynamic]],
382 deserializeDartObject: [dart.dynamic, [dart.dynamic]] 382 deserializeDartObject: [dart.dynamic, [dart.dynamic]]
383 }) 383 })
384 }); 384 });
385 const __CastType0 = dart.typedef('__CastType0', () => dart.functionType(dart.d ynamic, [dart.dynamic]));
386 function _callInIsolate(isolate, func) { 385 function _callInIsolate(isolate, func) {
387 let result = isolate.eval(func); 386 let result = isolate.eval(func);
388 exports._globalState.topEventLoop.run(); 387 exports._globalState.topEventLoop.run();
389 return result; 388 return result;
390 } 389 }
391 dart.fn(_callInIsolate, () => dart.definiteFunctionType(dart.dynamic, [_Isolat eContext, core.Function])); 390 dart.fn(_callInIsolate, () => dart.definiteFunctionType(dart.dynamic, [_Isolat eContext, core.Function]));
392 const _activeJsAsyncCount = Symbol('_activeJsAsyncCount'); 391 const _activeJsAsyncCount = Symbol('_activeJsAsyncCount');
393 function enterJsAsync() { 392 function enterJsAsync() {
394 let o = exports._globalState.topEventLoop; 393 let o = exports._globalState.topEventLoop;
395 o[_activeJsAsyncCount] = dart.notNull(o[_activeJsAsyncCount]) + 1; 394 o[_activeJsAsyncCount] = dart.notNull(o[_activeJsAsyncCount]) + 1;
(...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1508 exports.leaveJsAsync = leaveJsAsync; 1507 exports.leaveJsAsync = leaveJsAsync;
1509 exports.isWorker = isWorker; 1508 exports.isWorker = isWorker;
1510 exports.startRootIsolate = startRootIsolate; 1509 exports.startRootIsolate = startRootIsolate;
1511 exports.IsolateNatives = IsolateNatives; 1510 exports.IsolateNatives = IsolateNatives;
1512 exports.RawReceivePortImpl = RawReceivePortImpl; 1511 exports.RawReceivePortImpl = RawReceivePortImpl;
1513 exports.ReceivePortImpl = ReceivePortImpl; 1512 exports.ReceivePortImpl = ReceivePortImpl;
1514 exports.TimerImpl = TimerImpl; 1513 exports.TimerImpl = TimerImpl;
1515 exports.hasTimer = hasTimer; 1514 exports.hasTimer = hasTimer;
1516 exports.CapabilityImpl = CapabilityImpl; 1515 exports.CapabilityImpl = CapabilityImpl;
1517 }); 1516 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698