Index: src/mips/ic-mips.cc |
diff --git a/src/mips/ic-mips.cc b/src/mips/ic-mips.cc |
index e434fdb77417a2147dcecb1a15d42f5857fb204b..02055a4483a7d75e1088a30a37dde0092530a1eb 100644 |
--- a/src/mips/ic-mips.cc |
+++ b/src/mips/ic-mips.cc |
@@ -1440,6 +1440,25 @@ void KeyedStoreIC::GenerateMiss(MacroAssembler* masm, ICMissMode miss_mode) { |
} |
+void StoreIC::GenerateSlow(MacroAssembler* masm) { |
+ // ---------- S t a t e -------------- |
+ // -- a0 : value |
+ // -- a2 : key |
+ // -- a1 : receiver |
+ // -- ra : return address |
+ // ----------------------------------- |
+ |
+ // Push receiver, key and value for runtime call. |
+ __ Push(a1, a2, a0); |
+ |
+ // The slow case calls into the runtime to complete the store without causing |
+ // an IC miss that would otherwise cause a transition to the generic stub. |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(kKeyedStoreIC_Slow), masm->isolate()); |
+ __ TailCallExternalReference(ref, 3, 1); |
+} |
+ |
+ |
void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { |
// ---------- S t a t e -------------- |
// -- a0 : value |