| Index: src/type-feedback-vector.cc
|
| diff --git a/src/type-feedback-vector.cc b/src/type-feedback-vector.cc
|
| index 371a309ea7b0115cba18163774e5e7d5ca4b8050..40e58b8e39efce8c80765e2fa7e27c5f0f88da21 100644
|
| --- a/src/type-feedback-vector.cc
|
| +++ b/src/type-feedback-vector.cc
|
| @@ -75,11 +75,18 @@ void TypeFeedbackVector::SetKind(FeedbackVectorICSlot slot, Code::Kind kind) {
|
| }
|
|
|
|
|
| +template Handle<TypeFeedbackVector> TypeFeedbackVector::Allocate(
|
| + Isolate* isolate, const FeedbackVectorSpec* spec);
|
| +template Handle<TypeFeedbackVector> TypeFeedbackVector::Allocate(
|
| + Isolate* isolate, const ZoneFeedbackVectorSpec* spec);
|
| +
|
| +
|
| // static
|
| -Handle<TypeFeedbackVector> TypeFeedbackVector::Allocate(
|
| - Isolate* isolate, const FeedbackVectorSpec& spec) {
|
| - const int slot_count = spec.slots();
|
| - const int ic_slot_count = spec.ic_slots();
|
| +template <typename Spec>
|
| +Handle<TypeFeedbackVector> TypeFeedbackVector::Allocate(Isolate* isolate,
|
| + const Spec* spec) {
|
| + const int slot_count = spec->slots();
|
| + const int ic_slot_count = spec->ic_slots();
|
| const int index_count =
|
| FLAG_vector_ics ? VectorICComputer::word_count(ic_slot_count) : 0;
|
| const int length = slot_count + (ic_slot_count * elements_per_ic_slot()) +
|
| @@ -113,7 +120,7 @@ Handle<TypeFeedbackVector> TypeFeedbackVector::Allocate(
|
| Handle<TypeFeedbackVector> vector = Handle<TypeFeedbackVector>::cast(array);
|
| if (FLAG_vector_ics) {
|
| for (int i = 0; i < ic_slot_count; i++) {
|
| - vector->SetKind(FeedbackVectorICSlot(i), spec.GetKind(i));
|
| + vector->SetKind(FeedbackVectorICSlot(i), spec->GetKind(i));
|
| }
|
| }
|
| return vector;
|
|
|