[pypy-commit] pypy default: (arigo, bivab): simple fix for a hard to track issue. When compiling a label we

bivab noreply at buildbot.pypy.org
Wed Jun 12 13:10:55 CEST 2013


Author: David Schneider <david.schneider at picle.org>
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


More information about the pypy-commit mailing list