| 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 6e81583f654fceafab648b59a8fc8bd428d0c502..acb3edff8293467f95efff90b6d5c2789a60da22 100644
|
| --- a/runtime/observatory/lib/src/service/object.dart
|
| +++ b/runtime/observatory/lib/src/service/object.dart
|
| @@ -231,6 +231,9 @@ abstract class ServiceObject extends Observable {
|
| case 'LocalVarDescriptors':
|
| obj = new LocalVarDescriptors._empty(owner);
|
| break;
|
| + case 'MegamorphicCache':
|
| + obj = new MegamorphicCache._empty(owner);
|
| + break;
|
| case 'ObjectPool':
|
| obj = new ObjectPool._empty(owner);
|
| break;
|
| @@ -3332,6 +3335,28 @@ class ICData extends HeapObject {
|
| }
|
| }
|
|
|
| +class MegamorphicCache extends HeapObject {
|
| + @observable int mask;
|
| + @observable Instance buckets;
|
| +
|
| + bool get canCache => false;
|
| + bool get immutable => false;
|
| +
|
| + MegamorphicCache._empty(ServiceObjectOwner owner) : super._empty(owner);
|
| +
|
| + void _update(ObservableMap map, bool mapIsRef) {
|
| + _upgradeCollection(map, isolate);
|
| + super._update(map, mapIsRef);
|
| +
|
| + if (mapIsRef) {
|
| + return;
|
| + }
|
| +
|
| + mask = map['_mask'];
|
| + buckets = map['_buckets'];
|
| + }
|
| +}
|
| +
|
| class Instructions extends HeapObject {
|
| bool get canCache => false;
|
| bool get immutable => true;
|
|
|