Index: test/cctest/test-feedback-vector.cc |
diff --git a/test/cctest/test-feedback-vector.cc b/test/cctest/test-feedback-vector.cc |
index 71d0e815c38a99cff5afaedda1c7e0c1fe7cf402..d455ca0f5631c15836d3aecb4fd8f06406916715 100644 |
--- a/test/cctest/test-feedback-vector.cc |
+++ b/test/cctest/test-feedback-vector.cc |
@@ -29,7 +29,7 @@ TEST(VectorStructure) { |
Zone* zone = isolate->runtime_zone(); |
// Empty vectors are the empty fixed array. |
- FeedbackVectorSpec empty; |
+ StaticFeedbackVectorSpec empty; |
Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(&empty); |
CHECK(Handle<FixedArray>::cast(vector) |
.is_identical_to(factory->empty_fixed_array())); |
@@ -39,19 +39,21 @@ TEST(VectorStructure) { |
CHECK_EQ(0, vector->Slots()); |
CHECK_EQ(0, vector->ICSlots()); |
- FeedbackVectorSpec one_slot(1); |
+ FeedbackVectorSpec one_slot(zone); |
+ one_slot.AddStubSlot(); |
vector = factory->NewTypeFeedbackVector(&one_slot); |
CHECK_EQ(1, vector->Slots()); |
CHECK_EQ(0, vector->ICSlots()); |
- ZoneFeedbackVectorSpec one_icslot(zone, 0, 1); |
- one_icslot.SetKind(0, FeedbackVectorSlotKind::CALL_IC); |
+ FeedbackVectorSpec one_icslot(zone); |
+ one_icslot.AddSlot(FeedbackVectorSlotKind::CALL_IC); |
vector = factory->NewTypeFeedbackVector(&one_icslot); |
CHECK_EQ(0, vector->Slots()); |
CHECK_EQ(1, vector->ICSlots()); |
- ZoneFeedbackVectorSpec spec(zone, 3, 5); |
- for (int i = 0; i < 5; i++) spec.SetKind(i, FeedbackVectorSlotKind::CALL_IC); |
+ FeedbackVectorSpec spec(zone); |
+ spec.AddStubSlots(3); |
+ spec.AddSlots(FeedbackVectorSlotKind::CALL_IC, 5); |
vector = factory->NewTypeFeedbackVector(&spec); |
CHECK_EQ(3, vector->Slots()); |
CHECK_EQ(5, vector->ICSlots()); |
@@ -82,18 +84,21 @@ TEST(VectorICMetadata) { |
Factory* factory = isolate->factory(); |
Zone* zone = isolate->runtime_zone(); |
- ZoneFeedbackVectorSpec spec(zone, 10, 3 * 10); |
+ FeedbackVectorSpec spec(zone); |
// Set metadata. |
+ spec.AddStubSlots(10); |
for (int i = 0; i < 30; i++) { |
- FeedbackVectorSlotKind kind; |
- if (i % 3 == 0) { |
- kind = FeedbackVectorSlotKind::CALL_IC; |
- } else if (i % 3 == 1) { |
- kind = FeedbackVectorSlotKind::LOAD_IC; |
- } else { |
- kind = FeedbackVectorSlotKind::KEYED_LOAD_IC; |
+ switch (i % 3) { |
+ case 0: |
+ spec.AddSlot(FeedbackVectorSlotKind::CALL_IC); |
+ break; |
+ case 1: |
+ spec.AddSlot(FeedbackVectorSlotKind::LOAD_IC); |
+ break; |
+ case 2: |
+ spec.AddSlot(FeedbackVectorSlotKind::KEYED_LOAD_IC); |
+ break; |
} |
- spec.SetKind(i, kind); |
} |
Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(&spec); |
@@ -125,11 +130,13 @@ TEST(VectorSlotClearing) { |
v8::HandleScope scope(context->GetIsolate()); |
Isolate* isolate = CcTest::i_isolate(); |
Factory* factory = isolate->factory(); |
+ Zone* zone = isolate->runtime_zone(); |
// We only test clearing FeedbackVectorSlots, not FeedbackVectorICSlots. |
// The reason is that FeedbackVectorICSlots need a full code environment |
// to fully test (See VectorICProfilerStatistics test below). |
- FeedbackVectorSpec spec(5); |
+ FeedbackVectorSpec spec(zone); |
+ spec.AddStubSlots(5); |
Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(&spec); |
// Fill with information |