Index: src/type-feedback-vector.cc |
diff --git a/src/type-feedback-vector.cc b/src/type-feedback-vector.cc |
index fa9c50c8f13773d35c1fea358f08c03875c83c2f..e8993dd44e6b646608828882a8bcab68c37ef2dc 100644 |
--- a/src/type-feedback-vector.cc |
+++ b/src/type-feedback-vector.cc |
@@ -126,6 +126,26 @@ Handle<TypeFeedbackVector> TypeFeedbackVector::Allocate(Isolate* isolate, |
// static |
+int TypeFeedbackVector::PushAppliedArgumentsIndex() { |
+ const int index_count = VectorICComputer::word_count(1); |
+ return kReservedIndexCount + index_count; |
+} |
+ |
+ |
+// static |
+Handle<TypeFeedbackVector> TypeFeedbackVector::CreatePushAppliedArgumentsVector( |
+ Isolate* isolate) { |
+ Code::Kind kinds[] = {Code::KEYED_LOAD_IC}; |
+ FeedbackVectorSpec spec(0, 1, kinds); |
+ Handle<TypeFeedbackVector> feedback_vector = |
+ isolate->factory()->NewTypeFeedbackVector(&spec); |
+ DCHECK(PushAppliedArgumentsIndex() == |
+ feedback_vector->GetIndex(FeedbackVectorICSlot(0))); |
+ return feedback_vector; |
+} |
+ |
+ |
+// static |
Handle<TypeFeedbackVector> TypeFeedbackVector::Copy( |
Isolate* isolate, Handle<TypeFeedbackVector> vector) { |
Handle<TypeFeedbackVector> result; |