Author: David Schneider <david.schnei...@picle.org>
Branch: emit-call-arm
Changeset: r64535:03316d2756f3
Date: 2013-05-24 11:50 +0200
http://bitbucket.org/pypy/pypy/changeset/03316d2756f3/

Log:    make this check stricter for soft-float and move the function
        address to another register whenever it is stored in a register used
        for arguments, as it might get overwritten later by a float copied
        to such a register.

diff --git a/rpython/jit/backend/arm/callbuilder.py 
b/rpython/jit/backend/arm/callbuilder.py
--- a/rpython/jit/backend/arm/callbuilder.py
+++ b/rpython/jit/backend/arm/callbuilder.py
@@ -213,7 +213,7 @@
         # or on the stack, which we can not access later
         # If this happens to be the case we remap the register to r4 and use r4
         # to call the function
-        if self.fnloc in non_float_regs or self.fnloc.is_stack():
+        if self.fnloc in r.argument_regs or self.fnloc.is_stack():
             non_float_locs.append(self.fnloc)
             non_float_regs.append(r.r4)
             self.fnloc = r.r4
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to