- Fixed the parameter pasing to SharedStoreIC_ExtendStorage
authorbak@chromium.org <bak@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 7 Oct 2008 10:32:39 +0000 (10:32 +0000)
committerbak@chromium.org <bak@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 7 Oct 2008 10:32:39 +0000 (10:32 +0000)
  for keyed store ic.

Review URL: http://codereview.chromium.org/6303

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/ic-ia32.cc

index 026c861..9e36c89 100644 (file)
@@ -754,17 +754,18 @@ void KeyedStoreIC::Generate(MacroAssembler* masm, const ExternalReference& f) {
 void KeyedStoreIC::GenerateExtendStorage(MacroAssembler* masm) {
   // ----------- S t a t e -------------
   //  -- eax    : value
+  //  -- ecx    : transition map
   //  -- esp[0] : return address
   //  -- esp[4] : key
   //  -- esp[8] : receiver
   // -----------------------------------
 
   // Move the return address below the arguments.
-  __ pop(ecx);
-  __ push(Operand(esp, 1 * kPointerSize));
+  __ pop(ebx);
   __ push(Operand(esp, 1 * kPointerSize));
-  __ push(eax);
   __ push(ecx);
+  __ push(eax);
+  __ push(ebx);
 
   // Do tail-call to runtime routine.
   __ TailCallRuntime(