Index: src/ia32/ic-ia32.cc |
diff --git a/src/ia32/ic-ia32.cc b/src/ia32/ic-ia32.cc |
index 964db0eb1b649ecd44b953d28ff6a6955734174e..e05031b8e7b2c52f199e81ad200606ee656f0c95 100644 |
--- a/src/ia32/ic-ia32.cc |
+++ b/src/ia32/ic-ia32.cc |
@@ -1530,6 +1530,26 @@ void KeyedStoreIC::GenerateMiss(MacroAssembler* masm, ICMissMode miss_mode) { |
} |
+void StoreIC::GenerateSlow(MacroAssembler* masm) { |
+ // ----------- S t a t e ------------- |
+ // -- eax : value |
+ // -- ecx : key |
+ // -- edx : receiver |
+ // -- esp[0] : return address |
+ // ----------------------------------- |
+ |
+ __ pop(ebx); |
+ __ push(edx); |
+ __ push(ecx); |
+ __ push(eax); |
+ __ push(ebx); // return address |
+ |
+ // Do tail-call to runtime routine. |
+ ExternalReference ref(IC_Utility(kStoreIC_Slow), masm->isolate()); |
+ __ TailCallExternalReference(ref, 3, 1); |
+} |
+ |
+ |
void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { |
// ----------- S t a t e ------------- |
// -- eax : value |