Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index add3e6193e18eb419954a5929cc7c706cd51e4eb..e4a878d57b8d1bcf361988fcaea13ec43df7dfd5 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -2214,7 +2214,7 @@ Handle<Map> Map::CopyGeneralizeAllRepresentations(Handle<Map> map, |
// Unless the instance is being migrated, ensure that modify_index is a field. |
PropertyDetails details = descriptors->GetDetails(modify_index); |
- if (store_mode == FORCE_FIELD && |
+ if (store_mode == FORCE_IN_OBJECT && |
(details.type() != FIELD || details.attributes() != attributes)) { |
int field_index = details.type() == FIELD ? details.field_index() |
: new_map->NumberOfFields(); |
@@ -2236,12 +2236,12 @@ Handle<Map> Map::CopyGeneralizeAllRepresentations(Handle<Map> map, |
HeapType* field_type = (details.type() == FIELD) |
? map->instance_descriptors()->GetFieldType(modify_index) |
: NULL; |
- map->PrintGeneralization(stdout, reason, modify_index, |
- new_map->NumberOfOwnDescriptors(), |
- new_map->NumberOfOwnDescriptors(), |
- details.type() == CONSTANT && store_mode == FORCE_FIELD, |
- details.representation(), Representation::Tagged(), |
- field_type, HeapType::Any()); |
+ map->PrintGeneralization( |
+ stdout, reason, modify_index, new_map->NumberOfOwnDescriptors(), |
+ new_map->NumberOfOwnDescriptors(), |
+ details.type() == CONSTANT && store_mode == FORCE_IN_OBJECT, |
+ details.representation(), Representation::Tagged(), field_type, |
+ HeapType::Any()); |
} |
return new_map; |
} |
@@ -2535,7 +2535,7 @@ Handle<Map> Map::GeneralizeRepresentation(Handle<Map> old_map, |
int root_nof = root_map->NumberOfOwnDescriptors(); |
if (modify_index < root_nof) { |
PropertyDetails old_details = old_descriptors->GetDetails(modify_index); |
- if ((old_details.type() != FIELD && store_mode == FORCE_FIELD) || |
+ if ((old_details.type() != FIELD && store_mode == FORCE_IN_OBJECT) || |
(old_details.type() == FIELD && |
(!new_field_type->NowIs(old_descriptors->GetFieldType(modify_index)) || |
!new_representation.fits_into(old_details.representation())))) { |
@@ -2601,7 +2601,7 @@ Handle<Map> Map::GeneralizeRepresentation(Handle<Map> old_map, |
target_map->instance_descriptors(), isolate); |
int target_nof = target_map->NumberOfOwnDescriptors(); |
if (target_nof == old_nof && |
- (store_mode != FORCE_FIELD || |
+ (store_mode != FORCE_IN_OBJECT || |
target_descriptors->GetDetails(modify_index).type() == FIELD)) { |
DCHECK(modify_index < target_nof); |
DCHECK(new_representation.fits_into( |
@@ -2676,9 +2676,8 @@ Handle<Map> Map::GeneralizeRepresentation(Handle<Map> old_map, |
new_representation.generalize(target_details.representation())); |
} |
DCHECK_EQ(old_details.attributes(), target_details.attributes()); |
- if (old_details.type() == FIELD || |
- target_details.type() == FIELD || |
- (modify_index == i && store_mode == FORCE_FIELD) || |
+ if (old_details.type() == FIELD || target_details.type() == FIELD || |
+ (modify_index == i && store_mode == FORCE_IN_OBJECT) || |
(target_descriptors->GetValue(i) != old_descriptors->GetValue(i))) { |
Handle<HeapType> old_field_type = (old_details.type() == FIELD) |
? handle(old_descriptors->GetFieldType(i), isolate) |
@@ -2729,7 +2728,7 @@ Handle<Map> Map::GeneralizeRepresentation(Handle<Map> old_map, |
new_descriptors->Set(i, &d); |
} else { |
DCHECK(old_details.type() == CONSTANT || old_details.type() == CALLBACKS); |
- if (modify_index == i && store_mode == FORCE_FIELD) { |
+ if (modify_index == i && store_mode == FORCE_IN_OBJECT) { |
FieldDescriptor d( |
old_key, current_offset, |
GeneralizeFieldType(old_descriptors->GetValue(i)->OptimalType( |
@@ -2750,7 +2749,7 @@ Handle<Map> Map::GeneralizeRepresentation(Handle<Map> old_map, |
new_descriptors->Sort(); |
- DCHECK(store_mode != FORCE_FIELD || |
+ DCHECK(store_mode != FORCE_IN_OBJECT || |
new_descriptors->GetDetails(modify_index).type() == FIELD); |
Handle<Map> split_map(root_map->FindLastMatchMap( |
@@ -2787,7 +2786,7 @@ Handle<Map> Map::GeneralizeRepresentation(Handle<Map> old_map, |
isolate), isolate); |
old_map->PrintGeneralization( |
stdout, "", modify_index, split_nof, old_nof, |
- old_details.type() == CONSTANT && store_mode == FORCE_FIELD, |
+ old_details.type() == CONSTANT && store_mode == FORCE_IN_OBJECT, |
old_details.representation(), new_details.representation(), |
*old_field_type, *new_field_type); |
} |
@@ -2811,7 +2810,7 @@ Handle<Map> Map::GeneralizeAllFieldRepresentations( |
if (descriptors->GetDetails(i).type() == FIELD) { |
map = GeneralizeRepresentation(map, i, Representation::Tagged(), |
HeapType::Any(map->GetIsolate()), |
- FORCE_FIELD); |
+ FORCE_IN_OBJECT); |
} |
} |
return map; |
@@ -2837,7 +2836,7 @@ Handle<Map> Map::Update(Handle<Map> map) { |
if (!map->is_deprecated()) return map; |
return GeneralizeRepresentation(map, 0, Representation::None(), |
HeapType::None(map->GetIsolate()), |
- ALLOW_AS_CONSTANT); |
+ ALLOW_IN_DESCRIPTOR); |
} |
@@ -7119,7 +7118,7 @@ Handle<Map> Map::PrepareForDataProperty(Handle<Map> map, int descriptor, |
Handle<HeapType> type = value->OptimalType(isolate, representation); |
return GeneralizeRepresentation(map, descriptor, representation, type, |
- FORCE_FIELD); |
+ FORCE_IN_OBJECT); |
} |
@@ -7183,8 +7182,9 @@ Handle<Map> Map::ReconfigureDataProperty(Handle<Map> map, int descriptor, |
// For now, give up on transitioning and just create a unique map. |
// TODO(verwaest/ishell): Cache transitions with different attributes. |
- return CopyGeneralizeAllRepresentations( |
- map, descriptor, FORCE_FIELD, attributes, "GenAll_AttributesMismatch"); |
+ return CopyGeneralizeAllRepresentations(map, descriptor, FORCE_IN_OBJECT, |
+ attributes, |
+ "GenAll_AttributesMismatch"); |
} |