| Index: src/crankshaft/hydrogen.cc
|
| diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc
|
| index 214b65c676c61715545130222d7290e8a0d64c11..38b1079c879e425e5f77e817b756a7846514c65e 100644
|
| --- a/src/crankshaft/hydrogen.cc
|
| +++ b/src/crankshaft/hydrogen.cc
|
| @@ -6360,14 +6360,14 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LoadFieldMaps(
|
| field_type_ = HType::Tagged();
|
|
|
| // Figure out the field type from the accessor map.
|
| - Handle<HeapType> field_type = GetFieldTypeFromMap(map);
|
| + Handle<FieldType> field_type = GetFieldTypeFromMap(map);
|
|
|
| // Collect the (stable) maps from the field type.
|
| - int num_field_maps = field_type->NumClasses();
|
| + int num_field_maps = field_type->ClassCount();
|
| if (num_field_maps > 0) {
|
| DCHECK(access_.representation().IsHeapObject());
|
| field_maps_.Reserve(num_field_maps, zone());
|
| - HeapType::Iterator<Map> it = field_type->Classes();
|
| + FieldType::Iterator it = field_type->Classes();
|
| while (!it.Done()) {
|
| Handle<Map> field_map = it.Current();
|
| if (!field_map->is_stable()) {
|
| @@ -6381,14 +6381,14 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LoadFieldMaps(
|
|
|
| if (field_maps_.is_empty()) {
|
| // Store is not safe if the field map was cleared.
|
| - return IsLoad() || !field_type->Is(HeapType::None());
|
| + return IsLoad() || !field_type->IsNone();
|
| }
|
|
|
| field_maps_.Sort();
|
| DCHECK_EQ(num_field_maps, field_maps_.length());
|
|
|
| - // Determine field HType from field HeapType.
|
| - field_type_ = HType::FromType<HeapType>(field_type);
|
| + // Determine field HType from field type.
|
| + field_type_ = HType::FromFieldType(field_type, zone());
|
| DCHECK(field_type_.IsHeapObject());
|
|
|
| // Add dependency on the map that introduced the field.
|
|
|