@@ -1643,23 +1643,17 @@ void ClassFinalizer::RehashTypes() {
16431643
16441644 // Rehash the canonical Types table.
16451645 ObjectStore* object_store = I->object_store ();
1646- GrowableObjectArray& types =
1647- GrowableObjectArray::Handle (Z, GrowableObjectArray::New ());
1648- Array& types_array = Array::Handle (Z);
1646+ Array& types = Array::Handle (Z);
16491647 Type& type = Type::Handle (Z);
16501648 {
16511649 CanonicalTypeSet types_table (Z, object_store->canonical_types ());
1652- types_array = HashTables::ToArray (types_table, false );
1653- for (intptr_t i = 0 ; i < types_array.Length (); i++) {
1654- type ^= types_array.At (i);
1655- types.Add (type);
1656- }
1650+ types = HashTables::ToArray (types_table, false );
16571651 types_table.Release ();
16581652 }
16591653
16601654 intptr_t dict_size = Utils::RoundUpToPowerOfTwo (types.Length () * 4 / 3 );
1661- types_array = HashTables::New< CanonicalTypeSet>(dict_size, Heap:: kOld );
1662- CanonicalTypeSet types_table ( Z, types_array. raw ( ));
1655+ CanonicalTypeSet types_table (
1656+ Z, HashTables::New<CanonicalTypeSet>(dict_size, Heap:: kOld ));
16631657 for (intptr_t i = 0 ; i < types.Length (); i++) {
16641658 type ^= types.At (i);
16651659 bool present = types_table.Insert (type);
@@ -1669,25 +1663,18 @@ void ClassFinalizer::RehashTypes() {
16691663 object_store->set_canonical_types (types_table.Release ());
16701664
16711665 // Rehash the canonical TypeParameters table.
1672- Array& typeparams_array = Array::Handle (Z);
1673- GrowableObjectArray& typeparams =
1674- GrowableObjectArray::Handle (Z, GrowableObjectArray::New ());
1666+ Array& typeparams = Array::Handle (Z);
16751667 TypeParameter& typeparam = TypeParameter::Handle (Z);
16761668 {
16771669 CanonicalTypeParameterSet typeparams_table (
16781670 Z, object_store->canonical_type_parameters ());
1679- typeparams_array = HashTables::ToArray (typeparams_table, false );
1680- for (intptr_t i = 0 ; i < typeparams_array.Length (); i++) {
1681- typeparam ^= typeparams_array.At (i);
1682- typeparams.Add (typeparam);
1683- }
1671+ typeparams = HashTables::ToArray (typeparams_table, false );
16841672 typeparams_table.Release ();
16851673 }
16861674
16871675 dict_size = Utils::RoundUpToPowerOfTwo (typeparams.Length () * 4 / 3 );
1688- typeparams_array =
1689- HashTables::New<CanonicalTypeParameterSet>(dict_size, Heap::kOld );
1690- CanonicalTypeParameterSet typeparams_table (Z, typeparams_array.raw ());
1676+ CanonicalTypeParameterSet typeparams_table (
1677+ Z, HashTables::New<CanonicalTypeParameterSet>(dict_size, Heap::kOld ));
16911678 for (intptr_t i = 0 ; i < typeparams.Length (); i++) {
16921679 typeparam ^= typeparams.At (i);
16931680 bool present = typeparams_table.Insert (typeparam);
@@ -1696,18 +1683,12 @@ void ClassFinalizer::RehashTypes() {
16961683 object_store->set_canonical_type_parameters (typeparams_table.Release ());
16971684
16981685 // Rehash the canonical TypeArguments table.
1699- Array& typeargs_array = Array::Handle (Z);
1700- GrowableObjectArray& typeargs =
1701- GrowableObjectArray::Handle (Z, GrowableObjectArray::New ());
1686+ Array& typeargs = Array::Handle (Z);
17021687 TypeArguments& typearg = TypeArguments::Handle (Z);
17031688 {
17041689 CanonicalTypeArgumentsSet typeargs_table (
17051690 Z, object_store->canonical_type_arguments ());
1706- typeargs_array = HashTables::ToArray (typeargs_table, false );
1707- for (intptr_t i = 0 ; i < typeargs_array.Length (); i++) {
1708- typearg ^= typeargs_array.At (i);
1709- typeargs.Add (typearg);
1710- }
1691+ typeargs = HashTables::ToArray (typeargs_table, false );
17111692 typeargs_table.Release ();
17121693 }
17131694
@@ -1716,9 +1697,8 @@ void ClassFinalizer::RehashTypes() {
17161697 I->RehashConstants ();
17171698
17181699 dict_size = Utils::RoundUpToPowerOfTwo (typeargs.Length () * 4 / 3 );
1719- typeargs_array =
1720- HashTables::New<CanonicalTypeArgumentsSet>(dict_size, Heap::kOld );
1721- CanonicalTypeArgumentsSet typeargs_table (Z, typeargs_array.raw ());
1700+ CanonicalTypeArgumentsSet typeargs_table (
1701+ Z, HashTables::New<CanonicalTypeArgumentsSet>(dict_size, Heap::kOld ));
17221702 for (intptr_t i = 0 ; i < typeargs.Length (); i++) {
17231703 typearg ^= typeargs.At (i);
17241704 bool present = typeargs_table.Insert (typearg);
0 commit comments