Index: test/cctest/test-feedback-vector.cc |
diff --git a/test/cctest/test-feedback-vector.cc b/test/cctest/test-feedback-vector.cc |
index 3f2c1100f74c958cb66c625ace311f5579a794bc..1df963b97a3870cd6680e63636779cd87327d43f 100644 |
--- a/test/cctest/test-feedback-vector.cc |
+++ b/test/cctest/test-feedback-vector.cc |
@@ -386,11 +386,12 @@ TEST(VectorLoadGlobalICSlotSharing) { |
Handle<FeedbackVector> feedback_vector = |
Handle<FeedbackVector>(f->feedback_vector(), isolate); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(2, helper.slot_count()); |
+ CHECK_EQ(4, helper.slot_count()); |
CHECK_SLOT_KIND(helper, 0, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
- CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kLoadGlobalInsideTypeof); |
+ CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kLoadGlobalInsideTypeof); |
FeedbackSlot slot1 = helper.slot(0); |
- FeedbackSlot slot2 = helper.slot(1); |
+ FeedbackSlot slot2 = helper.slot(2); |
CHECK_EQ(MONOMORPHIC, |
LoadGlobalICNexus(feedback_vector, slot1).StateFromFeedback()); |
CHECK_EQ(MONOMORPHIC, |
@@ -480,11 +481,13 @@ TEST(ReferenceContextAllocatesNoSlots) { |
Handle<FeedbackVector> feedback_vector = |
handle(f->feedback_vector(), isolate); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(4, helper.slot_count()); |
+ CHECK_EQ(6, helper.slot_count()); |
CHECK_SLOT_KIND(helper, 0, FeedbackSlotKind::kStoreNamedSloppy); |
- CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
- CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kStoreNamedSloppy); |
- CHECK_SLOT_KIND(helper, 3, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
+ CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
+ CHECK_SLOT_KIND(helper, 3, FeedbackSlotKind::kStoreNamedSloppy); |
+ CHECK_SLOT_KIND(helper, 4, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 5, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
} |
{ |
@@ -500,7 +503,7 @@ TEST(ReferenceContextAllocatesNoSlots) { |
// There should be one LOAD_IC, for the load of a. |
Handle<FeedbackVector> feedback_vector(f->feedback_vector()); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(2, helper.slot_count()); |
+ CHECK_EQ(3, helper.slot_count()); |
CHECK_SLOT_KIND(helper, 0, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kStoreNamedStrict); |
} |
@@ -520,12 +523,13 @@ TEST(ReferenceContextAllocatesNoSlots) { |
// to call x and a LOAD_IC to load blue. |
Handle<FeedbackVector> feedback_vector(f->feedback_vector()); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(5, helper.slot_count()); |
+ CHECK_EQ(6, helper.slot_count()); |
CHECK_SLOT_KIND(helper, 0, FeedbackSlotKind::kCall); |
CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kStoreNamedSloppy); |
- CHECK_SLOT_KIND(helper, 3, FeedbackSlotKind::kCall); |
- CHECK_SLOT_KIND(helper, 4, FeedbackSlotKind::kLoadProperty); |
+ CHECK_SLOT_KIND(helper, 3, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 4, FeedbackSlotKind::kCall); |
+ CHECK_SLOT_KIND(helper, 5, FeedbackSlotKind::kLoadProperty); |
} |
{ |
@@ -542,10 +546,11 @@ TEST(ReferenceContextAllocatesNoSlots) { |
// KEYED_LOAD_IC for the load of x[0] in the return statement. |
Handle<FeedbackVector> feedback_vector(f->feedback_vector()); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(3, helper.slot_count()); |
+ CHECK_EQ(4, helper.slot_count()); |
CHECK_SLOT_KIND(helper, 0, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kStoreKeyedSloppy); |
- CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kLoadKeyed); |
+ CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 3, FeedbackSlotKind::kLoadKeyed); |
} |
{ |
@@ -563,10 +568,11 @@ TEST(ReferenceContextAllocatesNoSlots) { |
// KEYED_LOAD_IC for the load of x[0] in the return statement. |
Handle<FeedbackVector> feedback_vector(f->feedback_vector()); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(3, helper.slot_count()); |
+ CHECK_EQ(4, helper.slot_count()); |
CHECK_SLOT_KIND(helper, 0, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kStoreKeyedStrict); |
- CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kLoadKeyed); |
+ CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 3, FeedbackSlotKind::kLoadKeyed); |
} |
{ |
@@ -584,14 +590,17 @@ TEST(ReferenceContextAllocatesNoSlots) { |
// of x.old and x.young. |
Handle<FeedbackVector> feedback_vector(f->feedback_vector()); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(7, helper.slot_count()); |
+ CHECK_EQ(10, helper.slot_count()); |
CHECK_SLOT_KIND(helper, 0, FeedbackSlotKind::kLoadGlobalNotInsideTypeof); |
CHECK_SLOT_KIND(helper, 1, FeedbackSlotKind::kStoreNamedStrict); |
- CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kStoreNamedStrict); |
+ CHECK_SLOT_KIND(helper, 2, FeedbackSlotKind::kTypeProfile); |
CHECK_SLOT_KIND(helper, 3, FeedbackSlotKind::kStoreNamedStrict); |
- CHECK_SLOT_KIND(helper, 4, FeedbackSlotKind::kLoadProperty); |
- CHECK_SLOT_KIND(helper, 5, FeedbackSlotKind::kLoadProperty); |
- CHECK_SLOT_KIND(helper, 6, FeedbackSlotKind::kBinaryOp); |
+ CHECK_SLOT_KIND(helper, 4, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 5, FeedbackSlotKind::kStoreNamedStrict); |
+ CHECK_SLOT_KIND(helper, 6, FeedbackSlotKind::kTypeProfile); |
+ CHECK_SLOT_KIND(helper, 7, FeedbackSlotKind::kLoadProperty); |
+ CHECK_SLOT_KIND(helper, 8, FeedbackSlotKind::kLoadProperty); |
+ CHECK_SLOT_KIND(helper, 9, FeedbackSlotKind::kBinaryOp); |
} |
} |
@@ -615,7 +624,7 @@ TEST(VectorStoreICBasic) { |
// There should be one IC slot. |
Handle<FeedbackVector> feedback_vector(f->feedback_vector()); |
FeedbackVectorHelper helper(feedback_vector); |
- CHECK_EQ(1, helper.slot_count()); |
+ CHECK_EQ(2, helper.slot_count()); |
FeedbackSlot slot(0); |
StoreICNexus nexus(feedback_vector, slot); |
CHECK_EQ(MONOMORPHIC, nexus.StateFromFeedback()); |