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

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

Issue 1076883003: Initial support for runtime function types and type checking (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: uncomment code 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);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 return serialized; 104 return serialized;
105 } 105 }
106 serializeArrayInPlace(x) { 106 serializeArrayInPlace(x) {
107 for (let i = 0; dart.notNull(i) < dart.notNull(x[core.$length]); i = dart. notNull(i) + 1) { 107 for (let i = 0; dart.notNull(i) < dart.notNull(x[core.$length]); i = dart. notNull(i) + 1) {
108 x[core.$set](i, this.serialize(x[core.$get](i))); 108 x[core.$set](i, this.serialize(x[core.$get](i)));
109 } 109 }
110 return x; 110 return x;
111 } 111 }
112 serializeMap(x) { 112 serializeMap(x) {
113 let serializeTearOff = this.serialize; 113 let serializeTearOff = this.serialize;
114 return new core.List.from(['map', x.keys[core.$map](dart.as(serializeTearO ff, dart.throw_("Unimplemented type (dynamic) → dynamic")))[core.$toList](), x.v alues[core.$map](dart.as(serializeTearOff, dart.throw_("Unimplemented type (dyna mic) → dynamic")))[core.$toList]()]); 114 return new core.List.from(['map', x.keys[core.$map](dart.as(serializeTearO ff, dart.functionType(dynamic, [dynamic])))[core.$toList](), x.values[core.$map] (dart.as(serializeTearOff, dart.functionType(dynamic, [dynamic])))[core.$toList] ()]);
Jennifer Messerly 2015/04/09 18:44:28 shouldn't this be `dart.dynamic`?
vsm 2015/04/09 19:52:24 Done.
115 } 115 }
116 serializeJSObject(x) { 116 serializeJSObject(x) {
117 if (!!x.constructor && x.constructor !== Object) { 117 if (!!x.constructor && x.constructor !== Object) {
118 this.unsupported(x, "Only plain JS Objects are supported:"); 118 this.unsupported(x, "Only plain JS Objects are supported:");
119 } 119 }
120 let keys = dart.as(Object.keys(x), core.List); 120 let keys = dart.as(Object.keys(x), core.List);
121 let values = new core.List.from([]); 121 let values = new core.List.from([]);
122 values[core.$length] = keys[core.$length]; 122 values[core.$length] = keys[core.$length];
123 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) { 123 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) {
124 values[core.$set](i, this.serialize(x[keys[core.$get](i)])); 124 values[core.$set](i, this.serialize(x[keys[core.$get](i)]));
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 }, 822 },
823 get globalWorker() { 823 get globalWorker() {
824 _js_helper.requiresPreamble(); 824 _js_helper.requiresPreamble();
825 return self.Worker; 825 return self.Worker;
826 }, 826 },
827 get globalPostMessageDefined() { 827 get globalPostMessageDefined() {
828 _js_helper.requiresPreamble(); 828 _js_helper.requiresPreamble();
829 return !!self.postMessage; 829 return !!self.postMessage;
830 } 830 }
831 }); 831 });
832 class _MainFunction extends core.Function {} 832 let _MainFunction = dart.typedef('_MainFunction', () => dart.functionType(dyna mic, []));
833 class _MainFunctionArgs extends core.Function {} 833 let _MainFunctionArgs = dart.typedef('_MainFunctionArgs', () => dart.functionT ype(dynamic, [dynamic]));
834 class _MainFunctionArgsMessage extends core.Function {} 834 let _MainFunctionArgsMessage = dart.typedef('_MainFunctionArgsMessage', () => dart.functionType(dynamic, [dynamic, dynamic]));
835 let _getEventData = Symbol('_getEventData'); 835 let _getEventData = Symbol('_getEventData');
836 let _startIsolate = Symbol('_startIsolate'); 836 let _startIsolate = Symbol('_startIsolate');
837 let _log = Symbol('_log'); 837 let _log = Symbol('_log');
838 let _consoleLog = Symbol('_consoleLog'); 838 let _consoleLog = Symbol('_consoleLog');
839 let _allocate = Symbol('_allocate'); 839 let _allocate = Symbol('_allocate');
840 let _startWorker = Symbol('_startWorker'); 840 let _startWorker = Symbol('_startWorker');
841 let _startNonWorker = Symbol('_startNonWorker'); 841 let _startNonWorker = Symbol('_startNonWorker');
842 let _spawnWorker = Symbol('_spawnWorker'); 842 let _spawnWorker = Symbol('_spawnWorker');
843 class IsolateNatives extends core.Object { 843 class IsolateNatives extends core.Object {
844 static computeThisScript() { 844 static computeThisScript() {
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
948 case 'error': 948 case 'error':
949 { 949 {
950 throw dart.dindex(msg, 'msg'); 950 throw dart.dindex(msg, 'msg');
951 } 951 }
952 } 952 }
953 } 953 }
954 static handleSpawnWorkerRequest(msg) { 954 static handleSpawnWorkerRequest(msg) {
955 let replyPort = dart.dindex(msg, 'replyPort'); 955 let replyPort = dart.dindex(msg, 'replyPort');
956 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.dinde x(msg, 'isSpawnUri'), core.bool), dart.as(dart.dindex(msg, 'startPaused'), core. bool)).then(dart.as((msg) => { 956 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.dinde x(msg, 'isSpawnUri'), core.bool), dart.as(dart.dindex(msg, 'startPaused'), core. bool)).then(dart.as((msg) => {
957 dart.dinvoke(replyPort, 'send', msg); 957 dart.dinvoke(replyPort, 'send', msg);
958 }, dart.throw_("Unimplemented type (List<dynamic>) → dynamic")), { 958 }, dart.functionType(dynamic, [core.List])), {
959 onError: (errorMessage) => { 959 onError: (errorMessage) => {
960 dart.dinvoke(replyPort, 'send', new core.List.from([_SPAWN_FAILED_SIGN AL, errorMessage])); 960 dart.dinvoke(replyPort, 'send', new core.List.from([_SPAWN_FAILED_SIGN AL, errorMessage]));
961 } 961 }
962 }); 962 });
963 } 963 }
964 static [_log](msg) { 964 static [_log](msg) {
965 if (exports._globalState.isWorker) { 965 if (exports._globalState.isWorker) {
966 exports._globalState.mainManager.postMessage(_serializeMessage(dart.map( {command: 'log', msg: msg}))); 966 exports._globalState.mainManager.postMessage(_serializeMessage(dart.map( {command: 'log', msg: msg})));
967 } else { 967 } else {
968 try { 968 try {
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
1375 exports.leaveJsAsync = leaveJsAsync; 1375 exports.leaveJsAsync = leaveJsAsync;
1376 exports.isWorker = isWorker; 1376 exports.isWorker = isWorker;
1377 exports.startRootIsolate = startRootIsolate; 1377 exports.startRootIsolate = startRootIsolate;
1378 exports.IsolateNatives = IsolateNatives; 1378 exports.IsolateNatives = IsolateNatives;
1379 exports.RawReceivePortImpl = RawReceivePortImpl; 1379 exports.RawReceivePortImpl = RawReceivePortImpl;
1380 exports.ReceivePortImpl = ReceivePortImpl; 1380 exports.ReceivePortImpl = ReceivePortImpl;
1381 exports.TimerImpl = TimerImpl; 1381 exports.TimerImpl = TimerImpl;
1382 exports.hasTimer = hasTimer; 1382 exports.hasTimer = hasTimer;
1383 exports.CapabilityImpl = CapabilityImpl; 1383 exports.CapabilityImpl = CapabilityImpl;
1384 })(_isolate_helper || (_isolate_helper = {})); 1384 })(_isolate_helper || (_isolate_helper = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698