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
