| Index: test/cctest/test-feedback-vector.cc
|
| diff --git a/test/cctest/test-feedback-vector.cc b/test/cctest/test-feedback-vector.cc
|
| index d375ba36a0b79c69755aca8dac7718f08f715a3d..f53dfde10e4e871f3f4416bd5bd57d40521b0b2e 100644
|
| --- a/test/cctest/test-feedback-vector.cc
|
| +++ b/test/cctest/test-feedback-vector.cc
|
| @@ -22,10 +22,11 @@ TEST(VectorStructure) {
|
| v8::HandleScope scope(context->GetIsolate());
|
| Isolate* isolate = CcTest::i_isolate();
|
| Factory* factory = isolate->factory();
|
| + Zone* zone = isolate->runtime_zone();
|
|
|
| // Empty vectors are the empty fixed array.
|
| FeedbackVectorSpec empty;
|
| - Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(empty);
|
| + Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(&empty);
|
| CHECK(Handle<FixedArray>::cast(vector)
|
| .is_identical_to(factory->empty_fixed_array()));
|
| // Which can nonetheless be queried.
|
| @@ -34,24 +35,21 @@ TEST(VectorStructure) {
|
| CHECK_EQ(0, vector->Slots());
|
| CHECK_EQ(0, vector->ICSlots());
|
|
|
| - FeedbackVectorSpec one_slot(1, 0);
|
| - vector = factory->NewTypeFeedbackVector(one_slot);
|
| + FeedbackVectorSpec one_slot(1);
|
| + vector = factory->NewTypeFeedbackVector(&one_slot);
|
| CHECK_EQ(1, vector->Slots());
|
| CHECK_EQ(0, vector->ICSlots());
|
|
|
| - FeedbackVectorSpec one_icslot(0, 1);
|
| - if (FLAG_vector_ics) {
|
| - one_icslot.SetKind(0, Code::CALL_IC);
|
| - }
|
| - vector = factory->NewTypeFeedbackVector(one_icslot);
|
| + FeedbackVectorSpec one_icslot(0, Code::CALL_IC);
|
| + vector = factory->NewTypeFeedbackVector(&one_icslot);
|
| CHECK_EQ(0, vector->Slots());
|
| CHECK_EQ(1, vector->ICSlots());
|
|
|
| - FeedbackVectorSpec spec(3, 5);
|
| + ZoneFeedbackVectorSpec spec(zone, 3, 5);
|
| if (FLAG_vector_ics) {
|
| for (int i = 0; i < 5; i++) spec.SetKind(i, Code::CALL_IC);
|
| }
|
| - vector = factory->NewTypeFeedbackVector(spec);
|
| + vector = factory->NewTypeFeedbackVector(&spec);
|
| CHECK_EQ(3, vector->Slots());
|
| CHECK_EQ(5, vector->ICSlots());
|
|
|
| @@ -88,8 +86,9 @@ TEST(VectorICMetadata) {
|
| }
|
| Isolate* isolate = CcTest::i_isolate();
|
| Factory* factory = isolate->factory();
|
| + Zone* zone = isolate->runtime_zone();
|
|
|
| - FeedbackVectorSpec spec(10, 3 * 10);
|
| + ZoneFeedbackVectorSpec spec(zone, 10, 3 * 10);
|
| // Set metadata.
|
| for (int i = 0; i < 30; i++) {
|
| Code::Kind kind;
|
| @@ -103,7 +102,7 @@ TEST(VectorICMetadata) {
|
| spec.SetKind(i, kind);
|
| }
|
|
|
| - Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(spec);
|
| + Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(&spec);
|
| CHECK_EQ(10, vector->Slots());
|
| CHECK_EQ(3 * 10, vector->ICSlots());
|
|
|
| @@ -136,8 +135,8 @@ TEST(VectorSlotClearing) {
|
| // 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, 0);
|
| - Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(spec);
|
| + FeedbackVectorSpec spec(5);
|
| + Handle<TypeFeedbackVector> vector = factory->NewTypeFeedbackVector(&spec);
|
|
|
| // Fill with information
|
| vector->Set(FeedbackVectorSlot(0), Smi::FromInt(1));
|
|
|