[pypy-commit] pypy default: Fix the new test_call_box_func() on 64-bit.

arigo noreply at buildbot.pypy.org
Fri Jan 20 17:23:11 CET 2012


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r51552:245cb20ecdc0
Date: 2012-01-20 17:22 +0100
http://bitbucket.org/pypy/pypy/changeset/245cb20ecdc0/

Log:	Fix the new test_call_box_func() on 64-bit.

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
@@ -1118,6 +1118,12 @@
             for src, dst in singlefloats:
                 self.mc.MOVD(dst, src)
         # Finally remap the arguments in the main regs
+        # If x is a register and is in dst_locs, then oups, it needs to
+        # be moved away:
+        if x in dst_locs:
+            src_locs.append(x)
+            dst_locs.append(r10)
+            x = r10
         remap_frame_layout(self, src_locs, dst_locs, X86_64_SCRATCH_REG)
 
         self._regalloc.reserve_param(len(pass_on_stack))


More information about the pypy-commit mailing list