[pypy-svn] r68079 - pypy/branch/floats-via-sse2/pypy/jit/backend/x86
fijal at codespeak.net
fijal at codespeak.net
Thu Oct 1 00:47:53 CEST 2009
Author: fijal
Date: Thu Oct 1 00:47:52 2009
New Revision: 68079
Modified:
pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py
Log:
correctly adjust stack depth
Modified: pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py
==============================================================================
--- pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py (original)
+++ pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py Thu Oct 1 00:47:52 2009
@@ -773,7 +773,10 @@
assert isinstance(sizeloc, IMM32)
size = sizeloc.value
nargs = len(op.args)-1
- extra_on_stack = self.align_stack_for_call(nargs)
+ extra_on_stack = 0
+ for arg in range(2, nargs + 2):
+ extra_on_stack += round_up_to_4(arglocs[arg].width)
+ extra_on_stack = self.align_stack_for_call(extra_on_stack)
self.mc.SUB(esp, imm(WORD * extra_on_stack))
if isinstance(op.args[0], Const):
x = rel32(op.args[0].getint())
More information about the Pypy-commit
mailing list