Chromium Code Reviews| Index: utils/kernel-service/kernel-service.dart |
| diff --git a/runtime/tools/kernel-service.dart b/utils/kernel-service/kernel-service.dart |
| similarity index 78% |
| rename from runtime/tools/kernel-service.dart |
| rename to utils/kernel-service/kernel-service.dart |
| index f473c154775f0376174f49614e7eb7ace589ec48..4aac6af77ba9a8217616bac82170286cdd284a7a 100644 |
| --- a/runtime/tools/kernel-service.dart |
| +++ b/utils/kernel-service/kernel-service.dart |
| @@ -92,4 +92,29 @@ Future _processLoadRequest(request) async { |
| port.send([tag, inputFileUrl, inputFileUrl, null, result]); |
| } |
| -main() => new RawReceivePort()..handler = _processLoadRequest; |
| +// This entry point is used when running in the kernel isolate. |
| +start() => new RawReceivePort()..handler = _processLoadRequest; |
| + |
| +// This entry point is used when creating an app snapshot. The argument provides |
| +// a script to compile to warm-up generated code. |
| +main(args) { |
| + // TODO(28532): Enable on Windows. |
| + if (Platform.isWindows) return; |
|
rmacnak
2017/01/30 17:02:45
Change versus last time is here.
|
| + |
| + var tag = 1; |
| + var scriptUri = args[0]; |
| + var responsePort = new RawReceivePort(); |
| + responsePort.handler = (response) { |
| + if (response[0] == tag) { |
| + // Success. |
| + responsePort.close(); |
| + } else if (response[0] == -tag) { |
| + // Compilation error. |
| + throw response[4]; |
| + } else { |
| + throw "Unexpected response: $response"; |
| + } |
| + }; |
| + var request = [tag, responsePort.sendPort, scriptUri]; |
| + _processLoadRequest(request); |
| +} |