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