Author: Armin Rigo <[email protected]>
Branch: remove-globals-in-jit
Changeset: r59037:2d26e16d7813
Date: 2012-11-22 16:59 +0100
http://bitbucket.org/pypy/pypy/changeset/2d26e16d7813/
Log: It's actually easy to fix this assumption by making sure this
particular descr doesn't move any more.
diff --git a/pypy/jit/backend/x86/assembler.py
b/pypy/jit/backend/x86/assembler.py
--- a/pypy/jit/backend/x86/assembler.py
+++ b/pypy/jit/backend/x86/assembler.py
@@ -2407,7 +2407,8 @@
_offset, _size, _ = unpack_fielddescr(descrs.jf_descr)
fail_descr = self.cpu.get_fail_descr_from_number(value)
value = fail_descr.hide(self.cpu)
- value = rffi.cast(lltype.Signed, value) # XXX assumes non-moving
+ rgc._make_sure_does_not_move(value)
+ value = rffi.cast(lltype.Signed, value)
self.mc.CMP_mi((eax.value, _offset), value)
# patched later
self.mc.J_il8(rx86.Conditions['E'], 0) # goto B if we get
'done_with_this_frame'
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit