[pypy-svn] r71364 - pypy/branch/debug-vref2/pypy/jit/backend/x86
arigo at codespeak.net
arigo at codespeak.net
Sat Feb 20 19:29:03 CET 2010
Author: arigo
Date: Sat Feb 20 19:29:02 2010
New Revision: 71364
Modified:
pypy/branch/debug-vref2/pypy/jit/backend/x86/regalloc.py
Log:
Don't rely on the fact that remember_young_pointer()
will not overwrite its arguments in the stack.
(Looking again at the assembler, it really seems not to,
but better safe than sorry)
Modified: pypy/branch/debug-vref2/pypy/jit/backend/x86/regalloc.py
==============================================================================
--- pypy/branch/debug-vref2/pypy/jit/backend/x86/regalloc.py (original)
+++ pypy/branch/debug-vref2/pypy/jit/backend/x86/regalloc.py Sat Feb 20 19:29:02 2010
@@ -665,8 +665,7 @@
# See remember_young_pointer() in rpython/memory/gc/generation.py.
for v, reg in self.rm.reg_bindings.items():
if ((reg is eax or reg is ecx or reg is edx)
- and self.rm.stays_alive(v)
- and reg not in arglocs[3:]):
+ and self.rm.stays_alive(v)):
arglocs.append(reg)
self.PerformDiscard(op, arglocs)
self.rm.possibly_free_vars(op.args)
More information about the Pypy-commit
mailing list