Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(335)

Unified Diff: test/cctest/test-feedback-vector.cc

Issue 2707873002: Collect type profile for DevTools. (Closed)
Patch Set: Use constructor name if available. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698