| Index: runtime/vm/snapshot.cc
|
| diff --git a/runtime/vm/snapshot.cc b/runtime/vm/snapshot.cc
|
| index 9c7997583372c672287080ad6e83e0de8e631cf6..9d794fb6105864c257db464731f247c4f1478a29 100644
|
| --- a/runtime/vm/snapshot.cc
|
| +++ b/runtime/vm/snapshot.cc
|
| @@ -1333,6 +1333,13 @@ RawObject* SnapshotReader::ReadVMIsolateObject(intptr_t header_value) {
|
| }
|
| }
|
|
|
| + // Check if it is a singleton ICData array object.
|
| + for (intptr_t i = 0; i < ICData::kCachedICDataArrayCount; i++) {
|
| + if (object_id == (kCachedICDataArray0 + i)) {
|
| + return ICData::cached_icdata_arrays_[i];
|
| + }
|
| + }
|
| +
|
| ASSERT(Symbols::IsVMSymbolId(object_id));
|
| return Symbols::GetVMSymbol(object_id); // return VM symbol.
|
| }
|
| @@ -1675,6 +1682,14 @@ bool SnapshotWriter::HandleVMIsolateObject(RawObject* rawobj) {
|
| }
|
| }
|
|
|
| + // Check if it is a singleton ICData array object.
|
| + for (intptr_t i = 0; i < ICData::kCachedICDataArrayCount; i++) {
|
| + if (rawobj == ICData::cached_icdata_arrays_[i]) {
|
| + WriteVMIsolateObject(kCachedICDataArray0 + i);
|
| + return true;
|
| + }
|
| + }
|
| +
|
| if (kind() == Snapshot::kFull) {
|
| // Check it is a predefined symbol in the VM isolate.
|
| id = Symbols::LookupVMSymbol(rawobj);
|
|
|