Index: runtime/vm/raw_object_snapshot.cc |
diff --git a/runtime/vm/raw_object_snapshot.cc b/runtime/vm/raw_object_snapshot.cc |
index c2448a3274a2b1662aba1ff95b3cbeebeed8ccbc..1166562babeced93a490fc79d02eb990485c3a8a 100644 |
--- a/runtime/vm/raw_object_snapshot.cc |
+++ b/runtime/vm/raw_object_snapshot.cc |
@@ -231,7 +231,8 @@ RawType* Type::ReadFrom(SnapshotReader* reader, |
Type& type = Type::ZoneHandle(reader->zone(), NEW_OBJECT(Type)); |
bool is_canonical = RawObject::IsCanonical(tags); |
bool defer_canonicalization = is_canonical && |
- (!Snapshot::IsFull(kind) && typeclass_is_in_fullsnapshot); |
+ ((kind == Snapshot::kMessage) || |
+ (!Snapshot::IsFull(kind) && typeclass_is_in_fullsnapshot)); |
reader->AddBackRef(object_id, &type, kIsDeserialized, defer_canonicalization); |
// Set all non object fields. |