From 4c24f3f17a2083fd36dbcd1dfc97be77cd2ffabb Mon Sep 17 00:00:00 2001 From: "asiva@google.com" Date: Wed, 29 Aug 2012 20:20:52 +0000 Subject: [PATCH] Ensure types are canonicalized when canonicalization is requested and the type is already finalized. (Reduces initial heap size by about 15k) Review URL: https://chromiumcodereview.appspot.com//10886038 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11544 260f80e4-7a28-3924-810f-c04153c831b5 --- runtime/vm/class_finalizer.cc | 4 ++++ 1 file changed, 4 insertions(+) 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());