Index: src/ic-ia32.cc |
=================================================================== |
--- src/ic-ia32.cc (revision 454) |
+++ src/ic-ia32.cc (working copy) |
@@ -703,7 +703,8 @@ |
__ push(eax); |
__ push(ebx); |
// Perform tail call to the entry. |
- __ TailCallRuntime(ExternalReference(IC_Utility(kStoreIC_ExtendStorage)), 3); |
+ __ TailCallRuntime( |
+ ExternalReference(IC_Utility(kSharedStoreIC_ExtendStorage)), 3); |
} |
@@ -750,6 +751,26 @@ |
} |
+void KeyedStoreIC::GenerateExtendStorage(MacroAssembler* masm) { |
+ // ----------- S t a t e ------------- |
+ // -- eax : value |
+ // -- esp[0] : return address |
+ // -- esp[4] : key |
+ // -- esp[8] : receiver |
+ // ----------------------------------- |
+ |
+ // Move the return address below the arguments. |
+ __ pop(ecx); |
+ __ push(Operand(esp, 1 * kPointerSize)); |
+ __ push(Operand(esp, 1 * kPointerSize)); |
+ __ push(eax); |
+ __ push(ecx); |
+ |
+ // Do tail-call to runtime routine. |
+ __ TailCallRuntime( |
+ ExternalReference(IC_Utility(kSharedStoreIC_ExtendStorage)), 3); |
+} |
+ |
#undef __ |