Index: test/cctest/test-feedback-vector.cc |
diff --git a/test/cctest/test-feedback-vector.cc b/test/cctest/test-feedback-vector.cc |
index 2f7f961c9bc6a94883529a152df44f0a1362aa42..b982c0f02b75a213484f24eeaee5d52b0ee4bf3f 100644 |
--- a/test/cctest/test-feedback-vector.cc |
+++ b/test/cctest/test-feedback-vector.cc |
@@ -416,17 +416,9 @@ |
// There should be two LOAD_ICs, one for a and one for y at the end. |
Handle<TypeFeedbackVector> feedback_vector = |
handle(f->shared()->feedback_vector(), isolate); |
- if (FLAG_vector_stores) { |
- CHECK_EQ(4, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::STORE_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == Code::STORE_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(3)) == Code::LOAD_IC); |
- } else { |
- CHECK_EQ(2, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
- } |
+ CHECK_EQ(2, feedback_vector->ICSlots()); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
CompileRun( |
"function testprop(x) {" |
@@ -438,11 +430,7 @@ |
// There should be one LOAD_IC, for the load of a. |
feedback_vector = handle(f->shared()->feedback_vector(), isolate); |
- if (FLAG_vector_stores) { |
- CHECK_EQ(2, feedback_vector->ICSlots()); |
- } else { |
- CHECK_EQ(1, feedback_vector->ICSlots()); |
- } |
+ CHECK_EQ(1, feedback_vector->ICSlots()); |
CompileRun( |
"function testpropfunc(x) {" |
@@ -456,20 +444,11 @@ |
// There should be 2 LOAD_ICs and 2 CALL_ICs. |
feedback_vector = handle(f->shared()->feedback_vector(), isolate); |
- if (FLAG_vector_stores) { |
- CHECK_EQ(5, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::CALL_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == Code::STORE_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(3)) == Code::CALL_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(4)) == Code::LOAD_IC); |
- } else { |
- CHECK_EQ(4, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::CALL_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == Code::CALL_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(3)) == Code::LOAD_IC); |
- } |
+ CHECK_EQ(4, feedback_vector->ICSlots()); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::CALL_IC); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == Code::CALL_IC); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(3)) == Code::LOAD_IC); |
CompileRun( |
"function testkeyedprop(x) {" |
@@ -483,19 +462,10 @@ |
// There should be 1 LOAD_ICs for the load of a, and one KEYED_LOAD_IC for the |
// load of x[0] in the return statement. |
feedback_vector = handle(f->shared()->feedback_vector(), isolate); |
- if (FLAG_vector_stores) { |
- CHECK_EQ(3, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == |
- Code::KEYED_STORE_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == |
- Code::KEYED_LOAD_IC); |
- } else { |
- CHECK_EQ(2, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == |
- Code::KEYED_LOAD_IC); |
- } |
+ CHECK_EQ(2, feedback_vector->ICSlots()); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == |
+ Code::KEYED_LOAD_IC); |
CompileRun( |
"function testcompound(x) {" |
@@ -508,47 +478,9 @@ |
// There should be 3 LOAD_ICs, for load of a and load of x.old and x.young. |
feedback_vector = handle(f->shared()->feedback_vector(), isolate); |
- if (FLAG_vector_stores) { |
- CHECK_EQ(6, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::STORE_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == Code::STORE_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(3)) == Code::STORE_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(4)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(5)) == Code::LOAD_IC); |
- } else { |
- CHECK_EQ(3, feedback_vector->ICSlots()); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
- CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == Code::LOAD_IC); |
- } |
-} |
- |
- |
-TEST(VectorStoreICBasic) { |
- if (i::FLAG_always_opt) return; |
- if (!i::FLAG_vector_stores) return; |
- |
- CcTest::InitializeVM(); |
- LocalContext context; |
- v8::HandleScope scope(context->GetIsolate()); |
- Isolate* isolate = CcTest::i_isolate(); |
- |
- CompileRun( |
- "function f(a) {" |
- " a.foo = 5;" |
- "}" |
- "var a = { foo: 3 };" |
- "f(a);" |
- "f(a);" |
- "f(a);"); |
- Handle<JSFunction> f = GetFunction("f"); |
- // There should be one IC slot. |
- Handle<TypeFeedbackVector> feedback_vector = |
- Handle<TypeFeedbackVector>(f->shared()->feedback_vector(), isolate); |
- CHECK_EQ(1, feedback_vector->ICSlots()); |
- FeedbackVectorICSlot slot(0); |
- StoreICNexus nexus(feedback_vector, slot); |
- CHECK_EQ(MONOMORPHIC, nexus.StateFromFeedback()); |
-} |
-} |
+ CHECK_EQ(3, feedback_vector->ICSlots()); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(0)) == Code::LOAD_IC); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(1)) == Code::LOAD_IC); |
+ CHECK(feedback_vector->GetKind(FeedbackVectorICSlot(2)) == Code::LOAD_IC); |
+} |
+} |