@@ -1643,23 +1643,17 @@ void ClassFinalizer::RehashTypes() {
1643
1643
1644
1644
// Rehash the canonical Types table.
1645
1645
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);
1649
1647
Type& type = Type::Handle (Z);
1650
1648
{
1651
1649
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 );
1657
1651
types_table.Release ();
1658
1652
}
1659
1653
1660
1654
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 ));
1663
1657
for (intptr_t i = 0 ; i < types.Length (); i++) {
1664
1658
type ^= types.At (i);
1665
1659
bool present = types_table.Insert (type);
@@ -1669,25 +1663,18 @@ void ClassFinalizer::RehashTypes() {
1669
1663
object_store->set_canonical_types (types_table.Release ());
1670
1664
1671
1665
// 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);
1675
1667
TypeParameter& typeparam = TypeParameter::Handle (Z);
1676
1668
{
1677
1669
CanonicalTypeParameterSet typeparams_table (
1678
1670
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 );
1684
1672
typeparams_table.Release ();
1685
1673
}
1686
1674
1687
1675
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 ));
1691
1678
for (intptr_t i = 0 ; i < typeparams.Length (); i++) {
1692
1679
typeparam ^= typeparams.At (i);
1693
1680
bool present = typeparams_table.Insert (typeparam);
@@ -1696,18 +1683,12 @@ void ClassFinalizer::RehashTypes() {
1696
1683
object_store->set_canonical_type_parameters (typeparams_table.Release ());
1697
1684
1698
1685
// 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);
1702
1687
TypeArguments& typearg = TypeArguments::Handle (Z);
1703
1688
{
1704
1689
CanonicalTypeArgumentsSet typeargs_table (
1705
1690
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 );
1711
1692
typeargs_table.Release ();
1712
1693
}
1713
1694
@@ -1716,9 +1697,8 @@ void ClassFinalizer::RehashTypes() {
1716
1697
I->RehashConstants ();
1717
1698
1718
1699
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 ));
1722
1702
for (intptr_t i = 0 ; i < typeargs.Length (); i++) {
1723
1703
typearg ^= typeargs.At (i);
1724
1704
bool present = typeargs_table.Insert (typearg);
0 commit comments