| Index: runtime/lib/isolate_patch.dart
|
| diff --git a/runtime/lib/isolate_patch.dart b/runtime/lib/isolate_patch.dart
|
| index 9970d921c7557e7fc54d21e0e007960db98b4bab..a0f4196ed733bed251e3bdc47673b4487ff207e1 100644
|
| --- a/runtime/lib/isolate_patch.dart
|
| +++ b/runtime/lib/isolate_patch.dart
|
| @@ -334,14 +334,20 @@ patch class Isolate {
|
| Map<String, Uri> packages}) {
|
| RawReceivePort readyPort;
|
| if (environment != null) throw new UnimplementedError("environment");
|
| - if (packages != null) throw new UnimplementedError("packages");
|
| try {
|
| // The VM will invoke [_startIsolate] and not `main`.
|
| - // TODO: Handle [packages].
|
| readyPort = new RawReceivePort();
|
| var packageRootString =
|
| (packageRoot == null) ? null : packageRoot.toString();
|
| var packagesList = null;
|
| + if (packages != null) {
|
| + packagesList = new List(2 * packages.length);
|
| + var i = 0;
|
| + packages.forEach((key, value) {
|
| + packagesList[i++] = key;
|
| + packagesList[i++] = Uri.base.resolveUri(value).toString();
|
| + });
|
| + }
|
|
|
| _spawnUri(readyPort.sendPort, uri.toString(),
|
| args, message,
|
|
|