From df49b2915edae5e55fa31696e52c5eaba0ae4770 Mon Sep 17 00:00:00 2001 From: "sgjesse@chromium.org" Date: Wed, 19 May 2010 08:36:14 +0000 Subject: [PATCH] ARM: Fix porting bug The port to ARM of a tail call wrongly kept the scheme of pushing below the return address. TBR=antonm@chromium.org Review URL: http://codereview.chromium.org/2091013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/stub-cache-arm.cc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc index 964d098..0bdbff1 100644 --- a/src/arm/stub-cache-arm.cc +++ b/src/arm/stub-cache-arm.cc @@ -508,8 +508,7 @@ class LoadInterceptorCompiler BASE_EMBEDDED { ASSERT(callback->getter() != NULL); Label cleanup; - __ pop(scratch2); - __ Push(receiver, scratch2); + __ push(receiver); holder = stub_compiler->CheckPrototypes(holder_obj, holder, lookup->holder(), scratch1, @@ -528,9 +527,7 @@ class LoadInterceptorCompiler BASE_EMBEDDED { __ TailCallExternalReference(ref, 5, 1); __ bind(&cleanup); - __ pop(scratch1); __ pop(scratch2); - __ push(scratch1); } } -- 2.7.4