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