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; |