From 734328bdd910866790fef1232a0aa5bcb39ecedd Mon Sep 17 00:00:00 2001 From: "bak@chromium.org" Date: Tue, 7 Oct 2008 10:32:39 +0000 Subject: [PATCH] - Fixed the parameter pasing to SharedStoreIC_ExtendStorage 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 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ic-ia32.cc b/src/ic-ia32.cc index 026c861..9e36c89 100644 --- a/src/ic-ia32.cc +++ b/src/ic-ia32.cc @@ -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( -- 2.7.4