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
This commit is contained in:
asiva@google.com
2012-08-29 20:20:52 +00:00
parent 1ce358bf0c
commit 4c24f3f17a
+4
View File
@@ -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());