Author: edelsohn
Branch: ppc-jit-backend
Changeset: r51308:f657ede0f621
Date: 2012-01-14 09:41 -0500
http://bitbucket.org/pypy/pypy/changeset/f657ede0f621/
Log: possibly free boxes returned by ensure_value_is_boxed.
diff --git a/pypy/jit/backend/ppc/ppcgen/regalloc.py
b/pypy/jit/backend/ppc/ppcgen/regalloc.py
--- a/pypy/jit/backend/ppc/ppcgen/regalloc.py
+++ b/pypy/jit/backend/ppc/ppcgen/regalloc.py
@@ -659,11 +659,14 @@
size, ofs, _ = unpack_arraydescr(op.getdescr())
scale = get_scale(size)
args = op.getarglist()
- base_loc, _ = self._ensure_value_is_boxed(a0, args)
- ofs_loc, _ = self._ensure_value_is_boxed(a1, args)
- value_loc, _ = self._ensure_value_is_boxed(a2, args)
+ base_loc, base_box = self._ensure_value_is_boxed(a0, args)
+ ofs_loc, ofs_box = self._ensure_value_is_boxed(a1, args)
+ value_loc, value_box = self._ensure_value_is_boxed(a2, args)
assert _check_imm_arg(ofs)
scratch_loc = self.rm.get_scratch_reg(INT, [base_loc, ofs_loc])
+ self.possibly_free_var(base_box)
+ self.possibly_free_var(ofs_box)
+ self.possibly_free_var(value_box)
assert scratch_loc not in [base_loc, ofs_loc]
return [value_loc, base_loc, ofs_loc,
scratch_loc, imm(scale), imm(ofs)]
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit