[pypy-svn] r75705 - pypy/branch/x86-64-jit-backend/pypy/jit/backend/x86
jcreigh at codespeak.net
jcreigh at codespeak.net
Wed Jun 30 22:18:56 CEST 2010
Author: jcreigh
Date: Wed Jun 30 22:18:54 2010
New Revision: 75705
Modified:
pypy/branch/x86-64-jit-backend/pypy/jit/backend/x86/assembler.py
Log:
fix to allow constants to be passed to the stack (see r75704)
Modified: pypy/branch/x86-64-jit-backend/pypy/jit/backend/x86/assembler.py
==============================================================================
--- pypy/branch/x86-64-jit-backend/pypy/jit/backend/x86/assembler.py (original)
+++ pypy/branch/x86-64-jit-backend/pypy/jit/backend/x86/assembler.py Wed Jun 30 22:18:54 2010
@@ -749,8 +749,8 @@
# and I don't know if it's worth it.
for i in range(len(pass_on_stack)):
loc = pass_on_stack[i]
- if isinstance(loc, StackLoc):
- if loc.type == FLOAT:
+ if not isinstance(loc, RegLoc):
+ if isinstance(loc, StackLoc) and loc.type == FLOAT:
self.mc.MOVSD(X86_64_XMM_SCRATCH_REG, loc)
self.mc.MOVSD_sx(i*WORD, X86_64_XMM_SCRATCH_REG.value)
else:
@@ -758,7 +758,7 @@
self.mc.MOV(X86_64_SCRATCH_REG, loc)
self.mc.MOV_sr(i*WORD, X86_64_SCRATCH_REG.value)
else:
- assert isinstance(loc, RegLoc)
+ # It's a register
if loc.is_xmm:
self.mc.MOVSD_sx(i*WORD, loc.value)
else:
More information about the Pypy-commit
mailing list