[pypy-svn] r68053 - in pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport: . test
fijal at codespeak.net
fijal at codespeak.net
Wed Sep 30 20:33:18 CEST 2009
Author: fijal
Date: Wed Sep 30 20:33:18 2009
New Revision: 68053
Modified:
pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/regalloc.py
pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/test/test_regalloc.py
Log:
A controversial checkin. Const does not go into reg_bindings, but we
need to make sure that we don't move stuff after we pass imm_fine=False,
because we might override what we have
Modified: pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/regalloc.py
==============================================================================
--- pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/regalloc.py (original)
+++ pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/regalloc.py Wed Sep 30 20:33:18 2009
@@ -221,7 +221,7 @@
self.assembler.regalloc_mov(self.convert_to_imm(v), selected_reg)
return selected_reg
if selected_reg is None and self.free_regs:
- loc = self.free_regs.pop()
+ loc = self.free_regs[-1]
self.assembler.regalloc_mov(self.convert_to_imm(v), loc)
return loc
loc = self._spill_var(v, forbidden_vars, selected_reg)
Modified: pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/test/test_regalloc.py
==============================================================================
--- pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/test/test_regalloc.py (original)
+++ pypy/branch/floats-via-sse2/pypy/jit/backend/llsupport/test/test_regalloc.py Wed Sep 30 20:33:18 2009
@@ -233,10 +233,11 @@
assert isinstance(loc, ConstInt)
for box in boxes[:-1]:
rm.force_allocate_reg(box)
- assert len(asm.moves) == 4
+ assert len(asm.moves) == 3
loc = rm.return_constant(ConstInt(1), imm_fine=False)
assert isinstance(loc, FakeReg)
- assert len(asm.moves) == 6
+ assert len(asm.moves) == 5
+ assert len(rm.reg_bindings) == 3
def test_force_result_in_reg_const(self):
boxes, longevity = boxes_and_longevity(2)
More information about the Pypy-commit
mailing list