Index: src/crankshaft/hydrogen.cc |
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc |
index 38b1079c879e425e5f77e817b756a7846514c65e..57478f7cc6a504fc6f38e5ace3f8aa1f2d9759d8 100644 |
--- a/src/crankshaft/hydrogen.cc |
+++ b/src/crankshaft/hydrogen.cc |
@@ -6363,19 +6363,11 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LoadFieldMaps( |
Handle<FieldType> field_type = GetFieldTypeFromMap(map); |
// Collect the (stable) maps from the field type. |
- int num_field_maps = field_type->ClassCount(); |
- if (num_field_maps > 0) { |
+ if (field_type->IsClass()) { |
DCHECK(access_.representation().IsHeapObject()); |
- field_maps_.Reserve(num_field_maps, zone()); |
- FieldType::Iterator it = field_type->Classes(); |
- while (!it.Done()) { |
- Handle<Map> field_map = it.Current(); |
- if (!field_map->is_stable()) { |
- field_maps_.Clear(); |
- break; |
- } |
+ Handle<Map> field_map = field_type->AsClass(); |
+ if (field_map->is_stable()) { |
field_maps_.Add(field_map, zone()); |
- it.Advance(); |
} |
} |
@@ -6384,9 +6376,6 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LoadFieldMaps( |
return IsLoad() || !field_type->IsNone(); |
} |
- field_maps_.Sort(); |
- DCHECK_EQ(num_field_maps, field_maps_.length()); |
- |
// Determine field HType from field type. |
field_type_ = HType::FromFieldType(field_type, zone()); |
DCHECK(field_type_.IsHeapObject()); |