| 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 __
|
|
|
|
|
|
|