Author: David Schneider <[email protected]>
Branch:
Changeset: r64865:4283f7772bc0
Date: 2013-06-12 06:05 -0500
http://bitbucket.org/pypy/pypy/changeset/4283f7772bc0/
Log: (arigo, bivab): simple fix for a hard to track issue. When compiling
a label we were keeping the stacklocation of prevously spilled
floats that were loaded in a reg when we hit the label. When jumping
from somewehere else to the label the float value in the register is
forgotten, because it is assumed to be on the stack too.
diff --git a/rpython/jit/backend/arm/regalloc.py
b/rpython/jit/backend/arm/regalloc.py
--- a/rpython/jit/backend/arm/regalloc.py
+++ b/rpython/jit/backend/arm/regalloc.py
@@ -1154,7 +1154,7 @@
assert isinstance(arg, Box)
loc = self.loc(arg)
arglocs[i] = loc
- if loc.is_core_reg():
+ if loc.is_core_reg() or loc.is_vfp_reg():
self.frame_manager.mark_as_free(arg)
#
descr._arm_arglocs = arglocs
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit