[pypy-svn] r71379 - pypy/trunk/pypy/jit/backend/x86
arigo at codespeak.net
arigo at codespeak.net
Sun Feb 21 15:08:34 CET 2010
Author: arigo
Date: Sun Feb 21 15:08:32 2010
New Revision: 71379
Modified:
pypy/trunk/pypy/jit/backend/x86/regalloc.py
Log:
Mention a possible issue here, with a link to the revisions
that fix it (on branch/debug-vref2). Not applied to trunk
so far because it doesn't really seems necessary.
Modified: pypy/trunk/pypy/jit/backend/x86/regalloc.py
==============================================================================
--- pypy/trunk/pypy/jit/backend/x86/regalloc.py (original)
+++ pypy/trunk/pypy/jit/backend/x86/regalloc.py Sun Feb 21 15:08:32 2010
@@ -668,6 +668,11 @@
and self.rm.stays_alive(v)
and reg not in arglocs[3:]):
arglocs.append(reg)
+ # XXX this generates code that looks like: push eax / call / pop eax
+ # and expects eax to be saved, even though it's also an argument to
+ # the call. This holds so far, by looking at the assembler of
+ # remember_young_pointer(), but it may be a bit fragile. For a
+ # fix see r71364+r71370.
self.PerformDiscard(op, arglocs)
self.rm.possibly_free_vars(op.args)
More information about the Pypy-commit
mailing list