Index: test/cctest/test-field-type-tracking.cc |
diff --git a/test/cctest/test-field-type-tracking.cc b/test/cctest/test-field-type-tracking.cc |
index 9b7658839b9592658fb45a7231c6a823e2c59f70..05a7742d69244e21c93ed726f2c58a941fff3ec0 100644 |
--- a/test/cctest/test-field-type-tracking.cc |
+++ b/test/cctest/test-field-type-tracking.cc |
@@ -24,7 +24,7 @@ using namespace v8::internal; |
// TODO(ishell): fix this once TransitionToPrototype stops generalizing |
// all field representations (similar to crbug/448711 where elements kind |
-// and observed transitions caused generalization of all field representations). |
+// and observed transitions caused generalization of all fields). |
const bool IS_PROTO_TRANS_ISSUE_FIXED = false; |
@@ -221,7 +221,7 @@ class Expectations { |
SetAccessorConstant(index, getter, setter); |
} |
- void GeneralizeRepresentation(int index) { |
+ void GeneralizeField(int index) { |
CHECK(index < number_of_properties_); |
representations_[index] = Representation::Tagged(); |
if (locations_[index] == kField) { |
@@ -548,7 +548,7 @@ TEST(ReconfigureAccessorToNonExistingDataFieldHeavy) { |
//////////////////////////////////////////////////////////////////////////////// |
-// A set of tests for representation generalization case. |
+// A set of tests for field generalization case. |
// |
// <Constness, Representation, FieldType> data. |
@@ -558,9 +558,9 @@ struct CRFTData { |
Handle<FieldType> type; |
}; |
-// This test ensures that representation/field type generalization at |
-// |property_index| is done correctly independently of the fact that the |map| |
-// is detached from transition tree or not. |
+// This test ensures that field generalization at |property_index| is done |
+// correctly independently of the fact that the |map| is detached from |
+// transition tree or not. |
// |
// {} - p0 - p1 - p2: |detach_point_map| |
// | |
@@ -570,10 +570,11 @@ struct CRFTData { |
// |
// Detaching does not happen if |detach_property_at_index| is -1. |
// |
-static void TestGeneralizeRepresentation( |
- int detach_property_at_index, int property_index, const CRFTData& from, |
- const CRFTData& to, const CRFTData& expected, bool expected_deprecation, |
- bool expected_field_type_dependency) { |
+static void TestGeneralizeField(int detach_property_at_index, |
+ int property_index, const CRFTData& from, |
+ const CRFTData& to, const CRFTData& expected, |
+ bool expected_deprecation, |
+ bool expected_field_type_dependency) { |
Isolate* isolate = CcTest::i_isolate(); |
Handle<FieldType> any_type = FieldType::Any(isolate); |
@@ -675,19 +676,17 @@ static void TestGeneralizeRepresentation( |
CHECK_EQ(*new_map, *updated_map); |
} |
-static void TestGeneralizeRepresentation(const CRFTData& from, |
- const CRFTData& to, |
- const CRFTData& expected, |
- bool expected_deprecation, |
- bool expected_field_type_dependency) { |
+static void TestGeneralizeField(const CRFTData& from, const CRFTData& to, |
+ const CRFTData& expected, |
+ bool expected_deprecation, |
+ bool expected_field_type_dependency) { |
// Check the cases when the map being reconfigured is a part of the |
// transition tree. |
STATIC_ASSERT(kPropCount > 4); |
int indices[] = {0, 2, kPropCount - 1}; |
for (int i = 0; i < static_cast<int>(arraysize(indices)); i++) { |
- TestGeneralizeRepresentation(-1, indices[i], from, to, expected, |
- expected_deprecation, |
- expected_field_type_dependency); |
+ TestGeneralizeField(-1, indices[i], from, to, expected, |
+ expected_deprecation, expected_field_type_dependency); |
} |
if (!from.representation.IsNone()) { |
@@ -696,50 +695,46 @@ static void TestGeneralizeRepresentation(const CRFTData& from, |
// only for "attached" maps. |
int indices[] = {0, kPropCount - 1}; |
for (int i = 0; i < static_cast<int>(arraysize(indices)); i++) { |
- TestGeneralizeRepresentation(indices[i], 2, from, to, expected, |
- expected_deprecation, |
- expected_field_type_dependency); |
+ TestGeneralizeField(indices[i], 2, from, to, expected, |
+ expected_deprecation, expected_field_type_dependency); |
} |
// Check that reconfiguration to the very same field works correctly. |
CRFTData data = from; |
- TestGeneralizeRepresentation(-1, 2, data, data, data, false, false); |
+ TestGeneralizeField(-1, 2, data, data, data, false, false); |
} |
} |
-static void TestGeneralizeRepresentation(const CRFTData& from, |
- const CRFTData& to, |
- const CRFTData& expected) { |
+static void TestGeneralizeField(const CRFTData& from, const CRFTData& to, |
+ const CRFTData& expected) { |
const bool expected_deprecation = true; |
const bool expected_field_type_dependency = false; |
- TestGeneralizeRepresentation(from, to, expected, expected_deprecation, |
- expected_field_type_dependency); |
+ TestGeneralizeField(from, to, expected, expected_deprecation, |
+ expected_field_type_dependency); |
} |
-static void TestGeneralizeRepresentationTrivial( |
+static void TestGeneralizeFieldTrivial( |
const CRFTData& from, const CRFTData& to, const CRFTData& expected, |
bool expected_field_type_dependency = true) { |
const bool expected_deprecation = false; |
- TestGeneralizeRepresentation(from, to, expected, expected_deprecation, |
- expected_field_type_dependency); |
+ TestGeneralizeField(from, to, expected, expected_deprecation, |
+ expected_field_type_dependency); |
} |
- |
-TEST(GeneralizeRepresentationSmiToDouble) { |
+TEST(GeneralizeSmiFieldToDouble) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
Handle<FieldType> any_type = FieldType::Any(isolate); |
- TestGeneralizeRepresentation({kMutable, Representation::Smi(), any_type}, |
- {kMutable, Representation::Double(), any_type}, |
- {kMutable, Representation::Double(), any_type}); |
+ TestGeneralizeField({kMutable, Representation::Smi(), any_type}, |
+ {kMutable, Representation::Double(), any_type}, |
+ {kMutable, Representation::Double(), any_type}); |
} |
- |
-TEST(GeneralizeRepresentationSmiToTagged) { |
+TEST(GeneralizeSmiFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -747,14 +742,12 @@ TEST(GeneralizeRepresentationSmiToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestGeneralizeRepresentation( |
- {kMutable, Representation::Smi(), any_type}, |
- {kMutable, Representation::HeapObject(), value_type}, |
- {kMutable, Representation::Tagged(), any_type}); |
+ TestGeneralizeField({kMutable, Representation::Smi(), any_type}, |
+ {kMutable, Representation::HeapObject(), value_type}, |
+ {kMutable, Representation::Tagged(), any_type}); |
} |
- |
-TEST(GeneralizeRepresentationDoubleToTagged) { |
+TEST(GeneralizeDoubleFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -762,14 +755,12 @@ TEST(GeneralizeRepresentationDoubleToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestGeneralizeRepresentation( |
- {kMutable, Representation::Double(), any_type}, |
- {kMutable, Representation::HeapObject(), value_type}, |
- {kMutable, Representation::Tagged(), any_type}); |
+ TestGeneralizeField({kMutable, Representation::Double(), any_type}, |
+ {kMutable, Representation::HeapObject(), value_type}, |
+ {kMutable, Representation::Tagged(), any_type}); |
} |
- |
-TEST(GeneralizeRepresentationHeapObjectToTagged) { |
+TEST(GeneralizeHeapObjectFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -777,14 +768,12 @@ TEST(GeneralizeRepresentationHeapObjectToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestGeneralizeRepresentation( |
- {kMutable, Representation::HeapObject(), value_type}, |
- {kMutable, Representation::Smi(), any_type}, |
- {kMutable, Representation::Tagged(), any_type}); |
+ TestGeneralizeField({kMutable, Representation::HeapObject(), value_type}, |
+ {kMutable, Representation::Smi(), any_type}, |
+ {kMutable, Representation::Tagged(), any_type}); |
} |
- |
-TEST(GeneralizeRepresentationHeapObjectToHeapObject) { |
+TEST(GeneralizeHeapObjectFieldToHeapObject) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -798,7 +787,7 @@ TEST(GeneralizeRepresentationHeapObjectToHeapObject) { |
Handle<FieldType> expected_type = any_type; |
- TestGeneralizeRepresentationTrivial( |
+ TestGeneralizeFieldTrivial( |
{kMutable, Representation::HeapObject(), current_type}, |
{kMutable, Representation::HeapObject(), new_type}, |
{kMutable, Representation::HeapObject(), expected_type}); |
@@ -806,14 +795,13 @@ TEST(GeneralizeRepresentationHeapObjectToHeapObject) { |
new_type = FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestGeneralizeRepresentationTrivial( |
- {kMutable, Representation::HeapObject(), any_type}, |
- {kMutable, Representation::HeapObject(), new_type}, |
- {kMutable, Representation::HeapObject(), any_type}, false); |
+ TestGeneralizeFieldTrivial({kMutable, Representation::HeapObject(), any_type}, |
+ {kMutable, Representation::HeapObject(), new_type}, |
+ {kMutable, Representation::HeapObject(), any_type}, |
+ false); |
} |
- |
-TEST(GeneralizeRepresentationNoneToSmi) { |
+TEST(GeneralizeNoneFieldToSmi) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -821,14 +809,12 @@ TEST(GeneralizeRepresentationNoneToSmi) { |
Handle<FieldType> any_type = FieldType::Any(isolate); |
// None -> Smi representation change is trivial. |
- TestGeneralizeRepresentationTrivial( |
- {kMutable, Representation::None(), none_type}, |
- {kMutable, Representation::Smi(), any_type}, |
- {kMutable, Representation::Smi(), any_type}); |
+ TestGeneralizeFieldTrivial({kMutable, Representation::None(), none_type}, |
+ {kMutable, Representation::Smi(), any_type}, |
+ {kMutable, Representation::Smi(), any_type}); |
} |
- |
-TEST(GeneralizeRepresentationNoneToDouble) { |
+TEST(GeneralizeNoneFieldToDouble) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -836,13 +822,12 @@ TEST(GeneralizeRepresentationNoneToDouble) { |
Handle<FieldType> any_type = FieldType::Any(isolate); |
// None -> Double representation change is NOT trivial. |
- TestGeneralizeRepresentation({kMutable, Representation::None(), none_type}, |
- {kMutable, Representation::Double(), any_type}, |
- {kMutable, Representation::Double(), any_type}); |
+ TestGeneralizeField({kMutable, Representation::None(), none_type}, |
+ {kMutable, Representation::Double(), any_type}, |
+ {kMutable, Representation::Double(), any_type}); |
} |
- |
-TEST(GeneralizeRepresentationNoneToHeapObject) { |
+TEST(GeneralizeNoneFieldToHeapObject) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -851,14 +836,13 @@ TEST(GeneralizeRepresentationNoneToHeapObject) { |
FieldType::Class(Map::Create(isolate, 0), isolate); |
// None -> HeapObject representation change is trivial. |
- TestGeneralizeRepresentationTrivial( |
+ TestGeneralizeFieldTrivial( |
{kMutable, Representation::None(), none_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::HeapObject(), value_type}); |
} |
- |
-TEST(GeneralizeRepresentationNoneToTagged) { |
+TEST(GeneralizeNoneFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -866,19 +850,17 @@ TEST(GeneralizeRepresentationNoneToTagged) { |
Handle<FieldType> any_type = FieldType::Any(isolate); |
// None -> HeapObject representation change is trivial. |
- TestGeneralizeRepresentationTrivial( |
- {kMutable, Representation::None(), none_type}, |
- {kMutable, Representation::Tagged(), any_type}, |
- {kMutable, Representation::Tagged(), any_type}); |
+ TestGeneralizeFieldTrivial({kMutable, Representation::None(), none_type}, |
+ {kMutable, Representation::Tagged(), any_type}, |
+ {kMutable, Representation::Tagged(), any_type}); |
} |
//////////////////////////////////////////////////////////////////////////////// |
-// A set of tests for representation generalization case with kAccessor |
-// properties. |
+// A set of tests for field generalization case with kAccessor properties. |
// |
-TEST(GeneralizeRepresentationWithAccessorProperties) { |
+TEST(GeneralizeFieldWithAccessorProperties) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -943,8 +925,8 @@ TEST(GeneralizeRepresentationWithAccessorProperties) { |
// A set of tests for attribute reconfiguration case. |
// |
-// This test ensures that representation/field type generalization is correctly |
-// propagated from one branch of transition tree (|map2|) to another (|map|). |
+// This test ensures that field generalization is correctly propagated from one |
+// branch of transition tree (|map2|) to another (|map|). |
// |
// + - p2B - p3 - p4: |map2| |
// | |
@@ -952,7 +934,7 @@ TEST(GeneralizeRepresentationWithAccessorProperties) { |
// |
// where "p2A" and "p2B" differ only in the attributes. |
// |
-static void TestReconfigureDataFieldAttribute_GeneralizeRepresentation( |
+static void TestReconfigureDataFieldAttribute_GeneralizeField( |
const CRFTData& from, const CRFTData& to, const CRFTData& expected) { |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1026,10 +1008,9 @@ static void TestReconfigureDataFieldAttribute_GeneralizeRepresentation( |
CHECK_EQ(*new_map, *updated_map); |
} |
- |
-// This test ensures that trivial representation/field type generalization |
-// (from HeapObject to HeapObject) is correctly propagated from one branch of |
-// transition tree (|map2|) to another (|map|). |
+// This test ensures that trivial field generalization (from HeapObject to |
+// HeapObject) is correctly propagated from one branch of transition tree |
+// (|map2|) to another (|map|). |
// |
// + - p2B - p3 - p4: |map2| |
// | |
@@ -1037,7 +1018,7 @@ static void TestReconfigureDataFieldAttribute_GeneralizeRepresentation( |
// |
// where "p2A" and "p2B" differ only in the attributes. |
// |
-static void TestReconfigureDataFieldAttribute_GeneralizeRepresentationTrivial( |
+static void TestReconfigureDataFieldAttribute_GeneralizeFieldTrivial( |
const CRFTData& from, const CRFTData& to, const CRFTData& expected, |
bool expected_field_type_dependency = true) { |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1114,21 +1095,19 @@ static void TestReconfigureDataFieldAttribute_GeneralizeRepresentationTrivial( |
CHECK_EQ(*new_map, *updated_map); |
} |
- |
-TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationSmiToDouble) { |
+TEST(ReconfigureDataFieldAttribute_GeneralizeSmiFieldToDouble) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
Handle<FieldType> any_type = FieldType::Any(isolate); |
- TestReconfigureDataFieldAttribute_GeneralizeRepresentation( |
+ TestReconfigureDataFieldAttribute_GeneralizeField( |
{kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::Double(), any_type}, |
{kMutable, Representation::Double(), any_type}); |
} |
- |
-TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationSmiToTagged) { |
+TEST(ReconfigureDataFieldAttribute_GeneralizeSmiFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1136,14 +1115,13 @@ TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationSmiToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureDataFieldAttribute_GeneralizeRepresentation( |
+ TestReconfigureDataFieldAttribute_GeneralizeField( |
{kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
} |
- |
-TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationDoubleToTagged) { |
+TEST(ReconfigureDataFieldAttribute_GeneralizeDoubleFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1151,14 +1129,13 @@ TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationDoubleToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureDataFieldAttribute_GeneralizeRepresentation( |
+ TestReconfigureDataFieldAttribute_GeneralizeField( |
{kMutable, Representation::Double(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
} |
- |
-TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationHeapObjToHeapObj) { |
+TEST(ReconfigureDataFieldAttribute_GeneralizeHeapObjFieldToHeapObj) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1172,7 +1149,7 @@ TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationHeapObjToHeapObj) { |
Handle<FieldType> expected_type = any_type; |
- TestReconfigureDataFieldAttribute_GeneralizeRepresentationTrivial( |
+ TestReconfigureDataFieldAttribute_GeneralizeFieldTrivial( |
{kMutable, Representation::HeapObject(), current_type}, |
{kMutable, Representation::HeapObject(), new_type}, |
{kMutable, Representation::HeapObject(), expected_type}); |
@@ -1180,14 +1157,13 @@ TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationHeapObjToHeapObj) { |
new_type = FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureDataFieldAttribute_GeneralizeRepresentationTrivial( |
+ TestReconfigureDataFieldAttribute_GeneralizeFieldTrivial( |
{kMutable, Representation::HeapObject(), any_type}, |
{kMutable, Representation::HeapObject(), new_type}, |
{kMutable, Representation::HeapObject(), any_type}, false); |
} |
- |
-TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationHeapObjectToTagged) { |
+TEST(ReconfigureDataFieldAttribute_GeneralizeHeapObjectFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1195,7 +1171,7 @@ TEST(ReconfigureDataFieldAttribute_GeneralizeRepresentationHeapObjectToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureDataFieldAttribute_GeneralizeRepresentation( |
+ TestReconfigureDataFieldAttribute_GeneralizeField( |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::Tagged(), any_type}); |
@@ -1264,7 +1240,7 @@ struct CheckCopyGeneralizeAllFields { |
CHECK(new_map->GetBackPointer()->IsUndefined(map->GetIsolate())); |
for (int i = 0; i < kPropCount; i++) { |
- expectations.GeneralizeRepresentation(i); |
+ expectations.GeneralizeField(i); |
} |
CHECK(!new_map->is_deprecated()); |
@@ -1272,9 +1248,8 @@ struct CheckCopyGeneralizeAllFields { |
} |
}; |
- |
-// This test ensures that representation/field type generalization is correctly |
-// propagated from one branch of transition tree (|map2|) to another (|map1|). |
+// This test ensures that field generalization is correctly propagated from one |
+// branch of transition tree (|map2|) to another (|map1|). |
// |
// + - p2B - p3 - p4: |map2| |
// | |
@@ -1581,8 +1556,8 @@ TEST(ReconfigureDataFieldAttribute_AccConstantToDataFieldAfterTargetMap) { |
// A set of tests for elements kind reconfiguration case. |
// |
-// This test ensures that representation/field type generalization is correctly |
-// propagated from one branch of transition tree (|map2) to another (|map|). |
+// This test ensures that field generalization is correctly propagated from one |
+// branch of transition tree (|map2) to another (|map|). |
// |
// + - p0 - p1 - p2A - p3 - p4: |map| |
// | |
@@ -1592,7 +1567,7 @@ TEST(ReconfigureDataFieldAttribute_AccConstantToDataFieldAfterTargetMap) { |
// |
// where "p2A" and "p2B" differ only in the representation/field type. |
// |
-static void TestReconfigureElementsKind_GeneralizeRepresentation( |
+static void TestReconfigureElementsKind_GeneralizeField( |
const CRFTData& from, const CRFTData& to, const CRFTData& expected) { |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1673,9 +1648,9 @@ static void TestReconfigureElementsKind_GeneralizeRepresentation( |
} |
} |
-// This test ensures that trivial representation/field type generalization |
-// (from HeapObject to HeapObject) is correctly propagated from one branch of |
-// transition tree (|map2|) to another (|map|). |
+// This test ensures that trivial field generalization (from HeapObject to |
+// HeapObject) is correctly propagated from one branch of transition tree |
+// (|map2|) to another (|map|). |
// |
// + - p0 - p1 - p2A - p3 - p4: |map| |
// | |
@@ -1685,7 +1660,7 @@ static void TestReconfigureElementsKind_GeneralizeRepresentation( |
// |
// where "p2A" and "p2B" differ only in the representation/field type. |
// |
-static void TestReconfigureElementsKind_GeneralizeRepresentationTrivial( |
+static void TestReconfigureElementsKind_GeneralizeFieldTrivial( |
const CRFTData& from, const CRFTData& to, const CRFTData& expected, |
bool expected_field_type_dependency = true) { |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1768,19 +1743,19 @@ static void TestReconfigureElementsKind_GeneralizeRepresentationTrivial( |
} |
} |
-TEST(ReconfigureElementsKind_GeneralizeRepresentationSmiToDouble) { |
+TEST(ReconfigureElementsKind_GeneralizeSmiFieldToDouble) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
Handle<FieldType> any_type = FieldType::Any(isolate); |
- TestReconfigureElementsKind_GeneralizeRepresentation( |
+ TestReconfigureElementsKind_GeneralizeField( |
{kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::Double(), any_type}, |
{kMutable, Representation::Double(), any_type}); |
} |
-TEST(ReconfigureElementsKind_GeneralizeRepresentationSmiToTagged) { |
+TEST(ReconfigureElementsKind_GeneralizeSmiFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1788,13 +1763,13 @@ TEST(ReconfigureElementsKind_GeneralizeRepresentationSmiToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureElementsKind_GeneralizeRepresentation( |
+ TestReconfigureElementsKind_GeneralizeField( |
{kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
} |
-TEST(ReconfigureElementsKind_GeneralizeRepresentationDoubleToTagged) { |
+TEST(ReconfigureElementsKind_GeneralizeDoubleFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1802,13 +1777,13 @@ TEST(ReconfigureElementsKind_GeneralizeRepresentationDoubleToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureElementsKind_GeneralizeRepresentation( |
+ TestReconfigureElementsKind_GeneralizeField( |
{kMutable, Representation::Double(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
} |
-TEST(ReconfigureElementsKind_GeneralizeRepresentationHeapObjToHeapObj) { |
+TEST(ReconfigureElementsKind_GeneralizeHeapObjFieldToHeapObj) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1822,7 +1797,7 @@ TEST(ReconfigureElementsKind_GeneralizeRepresentationHeapObjToHeapObj) { |
Handle<FieldType> expected_type = any_type; |
- TestReconfigureElementsKind_GeneralizeRepresentationTrivial( |
+ TestReconfigureElementsKind_GeneralizeFieldTrivial( |
{kMutable, Representation::HeapObject(), current_type}, |
{kMutable, Representation::HeapObject(), new_type}, |
{kMutable, Representation::HeapObject(), expected_type}); |
@@ -1830,13 +1805,13 @@ TEST(ReconfigureElementsKind_GeneralizeRepresentationHeapObjToHeapObj) { |
new_type = FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureElementsKind_GeneralizeRepresentationTrivial( |
+ TestReconfigureElementsKind_GeneralizeFieldTrivial( |
{kMutable, Representation::HeapObject(), any_type}, |
{kMutable, Representation::HeapObject(), new_type}, |
{kMutable, Representation::HeapObject(), any_type}, false); |
} |
-TEST(ReconfigureElementsKind_GeneralizeRepresentationHeapObjectToTagged) { |
+TEST(ReconfigureElementsKind_GeneralizeHeapObjectFieldToTagged) { |
CcTest::InitializeVM(); |
v8::HandleScope scope(CcTest::isolate()); |
Isolate* isolate = CcTest::i_isolate(); |
@@ -1844,7 +1819,7 @@ TEST(ReconfigureElementsKind_GeneralizeRepresentationHeapObjectToTagged) { |
Handle<FieldType> value_type = |
FieldType::Class(Map::Create(isolate, 0), isolate); |
- TestReconfigureElementsKind_GeneralizeRepresentation( |
+ TestReconfigureElementsKind_GeneralizeField( |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::Tagged(), any_type}); |
@@ -1932,8 +1907,8 @@ TEST(ReconfigurePropertySplitMapTransitionsOverflow) { |
// transition, observed transition or prototype transition). |
// |
-// This test ensures that representation/field type generalization is correctly |
-// propagated from one branch of transition tree (|map2|) to another (|map|). |
+// This test ensures that field generalization is correctly propagated from one |
+// branch of transition tree (|map2|) to another (|map|). |
// |
// p4B: |map2| |
// | |
@@ -1944,13 +1919,14 @@ TEST(ReconfigurePropertySplitMapTransitionsOverflow) { |
// where "p4A" and "p4B" are exactly the same properties. |
// |
// TODO(ishell): unify this test template with |
-// TestReconfigureDataFieldAttribute_GeneralizeRepresentation once |
+// TestReconfigureDataFieldAttribute_GeneralizeField once |
// IS_PROTO_TRANS_ISSUE_FIXED and IS_NON_EQUIVALENT_TRANSITION_SUPPORTED are |
// fixed. |
template <typename TestConfig> |
-static void TestGeneralizeRepresentationWithSpecialTransition( |
- TestConfig& config, const CRFTData& from, const CRFTData& to, |
- const CRFTData& expected) { |
+static void TestGeneralizeFieldWithSpecialTransition(TestConfig& config, |
+ const CRFTData& from, |
+ const CRFTData& to, |
+ const CRFTData& expected) { |
Isolate* isolate = CcTest::i_isolate(); |
Expectations expectations(isolate); |
@@ -1978,7 +1954,7 @@ static void TestGeneralizeRepresentationWithSpecialTransition( |
if (config.generalizes_representations()) { |
for (int i = 0; i < kPropCount; i++) { |
- expectations2.GeneralizeRepresentation(i); |
+ expectations2.GeneralizeField(i); |
} |
} |
@@ -2016,7 +1992,7 @@ static void TestGeneralizeRepresentationWithSpecialTransition( |
// In case of non-equivalent transition currently we generalize all |
// representations. |
for (int i = 0; i < kPropCount; i++) { |
- expectations2.GeneralizeRepresentation(i); |
+ expectations2.GeneralizeField(i); |
} |
CHECK(new_map2->GetBackPointer()->IsUndefined(isolate)); |
CHECK(expectations2.Check(*new_map2)); |
@@ -2059,7 +2035,7 @@ TEST(ElementsKindTransitionFromMapOwningDescriptor) { |
bool is_non_equevalent_transition() const { return true; } |
}; |
TestConfig config; |
- TestGeneralizeRepresentationWithSpecialTransition( |
+ TestGeneralizeFieldWithSpecialTransition( |
config, {kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
@@ -2097,7 +2073,7 @@ TEST(ElementsKindTransitionFromMapNotOwningDescriptor) { |
bool is_non_equevalent_transition() const { return true; } |
}; |
TestConfig config; |
- TestGeneralizeRepresentationWithSpecialTransition( |
+ TestGeneralizeFieldWithSpecialTransition( |
config, {kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
@@ -2132,7 +2108,7 @@ TEST(PrototypeTransitionFromMapOwningDescriptor) { |
bool is_non_equevalent_transition() const { return true; } |
}; |
TestConfig config; |
- TestGeneralizeRepresentationWithSpecialTransition( |
+ TestGeneralizeFieldWithSpecialTransition( |
config, {kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
@@ -2178,7 +2154,7 @@ TEST(PrototypeTransitionFromMapNotOwningDescriptor) { |
bool is_non_equevalent_transition() const { return true; } |
}; |
TestConfig config; |
- TestGeneralizeRepresentationWithSpecialTransition( |
+ TestGeneralizeFieldWithSpecialTransition( |
config, {kMutable, Representation::Smi(), any_type}, |
{kMutable, Representation::HeapObject(), value_type}, |
{kMutable, Representation::Tagged(), any_type}); |
@@ -2281,8 +2257,7 @@ struct ReconfigureAsAccessorPropertyOperator { |
} |
}; |
- |
-// Checks that representation/field type generalization happened. |
+// Checks that field generalization happened. |
struct FieldGeneralizationChecker { |
int descriptor_; |
PropertyConstness constness_; |