| Index: runtime/observatory/lib/src/service/object.dart
|
| diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
|
| index 656bf20dc713b20b8808c7ac05670360498aa9e4..cbaae26eff6135bc776a8fa7e941aeac4a4af569 100644
|
| --- a/runtime/observatory/lib/src/service/object.dart
|
| +++ b/runtime/observatory/lib/src/service/object.dart
|
| @@ -776,28 +776,29 @@ abstract class VM extends ServiceObjectOwner implements M.VM {
|
| return this;
|
| }
|
|
|
| + assert(type == 'Isolate');
|
| String id = map['id'];
|
| - if ((id != null) && id.startsWith(_isolateIdPrefix)) {
|
| - // Check cache.
|
| - var isolate = _isolateCache[id];
|
| - if (isolate == null) {
|
| - // Add new isolate to the cache.
|
| - isolate = new ServiceObject._fromMap(this, map);
|
| - _isolateCache[id] = isolate;
|
| - _buildIsolateList();
|
| -
|
| - // Eagerly load the isolate.
|
| - isolate.load().catchError((e, stack) {
|
| - Logger.root.info('Eagerly loading an isolate failed: $e\n$stack');
|
| - });
|
| - } else {
|
| - isolate.update(map);
|
| - }
|
| - return isolate;
|
| + if (!id.startsWith(_isolateIdPrefix)) {
|
| + // Currently the VM only supports upgrading Isolate ServiceObjects.
|
| + throw new UnimplementedError();
|
| + }
|
| +
|
| + // Check cache.
|
| + var isolate = _isolateCache[id];
|
| + if (isolate == null) {
|
| + // Add new isolate to the cache.
|
| + isolate = new ServiceObject._fromMap(this, map);
|
| + _isolateCache[id] = isolate;
|
| + _buildIsolateList();
|
| +
|
| + // Eagerly load the isolate.
|
| + isolate.load().catchError((e, stack) {
|
| + Logger.root.info('Eagerly loading an isolate failed: $e\n$stack');
|
| + });
|
| + } else {
|
| + isolate.update(map);
|
| }
|
| -
|
| - // Build the object from the map directly.
|
| - return new ServiceObject._fromMap(this, map);
|
| + return isolate;
|
| }
|
|
|
| // Note that this function does not reload the isolate if it found
|
| @@ -3008,7 +3009,7 @@ class ServiceFunction extends HeapObject implements M.Function {
|
| ServiceFunction._empty(ServiceObject owner) : super._empty(owner);
|
|
|
| void _update(Map map, bool mapIsRef) {
|
| - _upgradeCollection(map, owner);
|
| + _upgradeCollection(map, isolate);
|
| super._update(map, mapIsRef);
|
|
|
| name = map['name'];
|
|
|