| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Patch file for the dart:isolate library. | 5 // Patch file for the dart:isolate library. |
| 6 | 6 |
| 7 import 'dart:_js_helper' show patch; | 7 import 'dart:_js_helper' show patch; |
| 8 import 'dart:_isolate_helper' show CapabilityImpl, | 8 import 'dart:_isolate_helper' show CapabilityImpl, |
| 9 CloseToken, | 9 CloseToken, |
| 10 IsolateNatives, | 10 IsolateNatives, |
| 11 JsIsolateSink, | 11 JsIsolateSink, |
| 12 ReceivePortImpl, | 12 ReceivePortImpl, |
| 13 RawReceivePortImpl; | 13 RawReceivePortImpl; |
| 14 | 14 |
| 15 @patch | 15 @patch |
| 16 class Isolate { | 16 class Isolate { |
| 17 static final _currentIsolateCache = IsolateNatives.currentIsolate; |
| 18 |
| 19 // `current` must be a getter, not just a final field, |
| 20 // to match the external declaration. |
| 21 @patch |
| 22 static Isolate get current => _currentIsolateCache; |
| 23 |
| 17 @patch | 24 @patch |
| 18 static Future<Isolate> spawn(void entryPoint(message), var message, | 25 static Future<Isolate> spawn(void entryPoint(message), var message, |
| 19 { bool paused: false }) { | 26 { bool paused: false }) { |
| 20 try { | 27 try { |
| 21 return IsolateNatives.spawnFunction(entryPoint, message, paused) | 28 return IsolateNatives.spawnFunction(entryPoint, message, paused) |
| 22 .then((msg) => new Isolate(msg[1], | 29 .then((msg) => new Isolate(msg[1], |
| 23 pauseCapability: msg[2], | 30 pauseCapability: msg[2], |
| 24 terminateCapability: msg[3])); | 31 terminateCapability: msg[3])); |
| 25 } catch (e, st) { | 32 } catch (e, st) { |
| 26 return new Future<Isolate>.error(e, st); | 33 return new Future<Isolate>.error(e, st); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 factory RawReceivePort([void handler(event)]) { | 151 factory RawReceivePort([void handler(event)]) { |
| 145 return new RawReceivePortImpl(handler); | 152 return new RawReceivePortImpl(handler); |
| 146 } | 153 } |
| 147 } | 154 } |
| 148 | 155 |
| 149 @patch | 156 @patch |
| 150 class Capability { | 157 class Capability { |
| 151 @patch | 158 @patch |
| 152 factory Capability() = CapabilityImpl; | 159 factory Capability() = CapabilityImpl; |
| 153 } | 160 } |
| OLD | NEW |