diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc index 0f08efa2329..0a6e703fef5 100644 --- a/runtime/vm/class_finalizer.cc +++ b/runtime/vm/class_finalizer.cc @@ -535,6 +535,10 @@ RawAbstractType* ClassFinalizer::FinalizeType(const Class& cls, const AbstractType& type, FinalizationKind finalization) { if (type.IsFinalized()) { + // Ensure type is canonical if canonicalization is requested. + if (finalization >= kCanonicalize) { + return type.Canonicalize(); + } return type.raw(); } ASSERT(type.IsResolved());