| 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 0ebf02ed5e6b7d21fdb14afea867e2866df470b7..cbe8630d8e7c5143a7980d68fabb02b9fbd90252 100644
|
| --- a/runtime/observatory/lib/src/service/object.dart
|
| +++ b/runtime/observatory/lib/src/service/object.dart
|
| @@ -1137,6 +1137,39 @@ class Port implements M.Port {
|
| handler = map['handler'];
|
| }
|
|
|
| +class PersistentHandles implements M.PersistentHandles {
|
| + final Iterable<PersistentHandle> elements;
|
| + final Iterable<WeakPersistentHandle> weakElements;
|
| +
|
| + PersistentHandles(ServiceMap map)
|
| + : this.elements = map['persistentHandles']
|
| + .map((rmap) => new PersistentHandle(rmap)),
|
| + this.weakElements = map['weakPersistentHandles']
|
| + .map((rmap) => new WeakPersistentHandle(rmap));
|
| +}
|
| +
|
| +class PersistentHandle implements M.PersistentHandle {
|
| + final HeapObject object;
|
| +
|
| + PersistentHandle(ServiceMap map)
|
| + : object = map['object'];
|
| +}
|
| +
|
| +class WeakPersistentHandle implements M.WeakPersistentHandle {
|
| + final int externalSize;
|
| + final String peer;
|
| + final String callbackSymbolName;
|
| + final String callbackAddress;
|
| + final HeapObject object;
|
| +
|
| + WeakPersistentHandle(ServiceMap map)
|
| + : externalSize = int.parse(map['externalSize']),
|
| + peer = map['peer'],
|
| + callbackSymbolName = map['callbackSymbolName'],
|
| + callbackAddress = map['callbackAddress'],
|
| + object = map['object'];
|
| +}
|
| +
|
| class HeapSpace extends Observable implements M.HeapSpace {
|
| @observable int used = 0;
|
| @observable int capacity = 0;
|
|
|