Index: runtime/vm/clustered_snapshot.cc |
diff --git a/runtime/vm/clustered_snapshot.cc b/runtime/vm/clustered_snapshot.cc |
index c2f3fc0633e3df53b3f55ea574f5eb25e69e886e..629f3b01b4444b065d47f64490ac3e256b78078b 100644 |
--- a/runtime/vm/clustered_snapshot.cc |
+++ b/runtime/vm/clustered_snapshot.cc |
@@ -2723,6 +2723,11 @@ class TypeSerializationCluster : public SerializationCluster { |
s->Push(*p); |
} |
+ if (type->ptr()->type_class_id_->IsHeapObject()) { |
+ // Type class is still an unresolved class. |
+ UNREACHABLE(); |
+ } |
+ |
RawSmi* raw_type_class_id = Smi::RawCast(type->ptr()->type_class_id_); |
RawClass* type_class = |
s->isolate()->class_table()->At(Smi::Value(raw_type_class_id)); |
@@ -2954,6 +2959,7 @@ class TypeParameterSerializationCluster : public SerializationCluster { |
s->Write<int32_t>(type->ptr()->parameterized_class_id_); |
s->WriteTokenPosition(type->ptr()->token_pos_); |
s->Write<int16_t>(type->ptr()->index_); |
+ s->Write<uint8_t>(type->ptr()->parent_level_); |
s->Write<int8_t>(type->ptr()->type_state_); |
} |
} |
@@ -2996,6 +3002,7 @@ class TypeParameterDeserializationCluster : public DeserializationCluster { |
type->ptr()->parameterized_class_id_ = d->Read<int32_t>(); |
type->ptr()->token_pos_ = d->ReadTokenPosition(); |
type->ptr()->index_ = d->Read<int16_t>(); |
+ type->ptr()->parent_level_ = d->Read<uint8_t>(); |
type->ptr()->type_state_ = d->Read<int8_t>(); |
} |
} |