Author: David Schneider <david.schnei...@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
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to