Revision: 4679
Author: [email protected]
Date: Wed May 19 01:36:14 2010
Log: ARM: Fix porting bug

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

[email protected]
Review URL: http://codereview.chromium.org/2091013
http://code.google.com/p/v8/source/detail?r=4679

Modified:
 /branches/bleeding_edge/src/arm/stub-cache-arm.cc

=======================================
--- /branches/bleeding_edge/src/arm/stub-cache-arm.cc Mon May 17 23:57:12 2010 +++ /branches/bleeding_edge/src/arm/stub-cache-arm.cc Wed May 19 01:36:14 2010
@@ -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