Reviewers: antonm,

Description:
ARM: Fix porting bug

The port to ARM of a tail call wrongly kept the scheme of pushing below the
return address.

[email protected]

Please review this at http://codereview.chromium.org/2091013/show

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/arm/stub-cache-arm.cc


Index: src/arm/stub-cache-arm.cc
===================================================================
--- src/arm/stub-cache-arm.cc   (revision 4678)
+++ src/arm/stub-cache-arm.cc   (working copy)
@@ -508,8 +508,7 @@
       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 @@
       __ TailCallExternalReference(ref, 5, 1);

       __ bind(&cleanup);
-      __ pop(scratch1);
       __ pop(scratch2);
-      __ push(scratch1);
     }
   }



--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to