Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index 985f1da99c27d8737f8974cc27e47f66ba1d42e6..012a188c9b2636c496c85958f8c82490ed700b58 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -2404,11 +2404,11 @@ RUNTIME_FUNCTION(Runtime_StoreIC_Miss) { |
HandleScope scope(isolate); |
DCHECK_EQ(5, args.length()); |
// Runtime functions don't follow the IC's calling convention. |
- Handle<Object> receiver = args.at<Object>(0); |
- Handle<Name> key = args.at<Name>(1); |
- Handle<Object> value = args.at<Object>(2); |
- Handle<Smi> slot = args.at<Smi>(3); |
- Handle<TypeFeedbackVector> vector = args.at<TypeFeedbackVector>(4); |
+ Handle<Object> value = args.at<Object>(0); |
+ Handle<Smi> slot = args.at<Smi>(1); |
+ Handle<TypeFeedbackVector> vector = args.at<TypeFeedbackVector>(2); |
+ Handle<Object> receiver = args.at<Object>(3); |
+ Handle<Name> key = args.at<Name>(4); |
FeedbackVectorSlot vector_slot = vector->ToSlot(slot->value()); |
if (vector->GetKind(vector_slot) == FeedbackVectorSlotKind::STORE_IC) { |
StoreICNexus nexus(vector, vector_slot); |
@@ -2460,11 +2460,11 @@ RUNTIME_FUNCTION(Runtime_KeyedStoreIC_Miss) { |
HandleScope scope(isolate); |
DCHECK_EQ(5, args.length()); |
// Runtime functions don't follow the IC's calling convention. |
- Handle<Object> receiver = args.at<Object>(0); |
- Handle<Object> key = args.at<Object>(1); |
- Handle<Object> value = args.at<Object>(2); |
- Handle<Smi> slot = args.at<Smi>(3); |
- Handle<TypeFeedbackVector> vector = args.at<TypeFeedbackVector>(4); |
+ Handle<Object> value = args.at<Object>(0); |
+ Handle<Smi> slot = args.at<Smi>(1); |
+ Handle<TypeFeedbackVector> vector = args.at<TypeFeedbackVector>(2); |
+ Handle<Object> receiver = args.at<Object>(3); |
+ Handle<Object> key = args.at<Object>(4); |
FeedbackVectorSlot vector_slot = vector->ToSlot(slot->value()); |
KeyedStoreICNexus nexus(vector, vector_slot); |
KeyedStoreIC ic(IC::NO_EXTRA_FRAME, isolate, &nexus); |
@@ -2496,9 +2496,10 @@ RUNTIME_FUNCTION(Runtime_KeyedStoreIC_Slow) { |
HandleScope scope(isolate); |
DCHECK_EQ(5, args.length()); |
// Runtime functions don't follow the IC's calling convention. |
- Handle<Object> object = args.at<Object>(0); |
- Handle<Object> key = args.at<Object>(1); |
- Handle<Object> value = args.at<Object>(2); |
+ Handle<Object> value = args.at<Object>(0); |
+ // slot and vector parameters are not used. |
+ Handle<Object> object = args.at<Object>(3); |
+ Handle<Object> key = args.at<Object>(4); |
LanguageMode language_mode; |
KeyedStoreICNexus nexus(isolate); |
KeyedStoreIC ic(IC::NO_EXTRA_FRAME, isolate, &nexus); |