Author: Maciej Fijalkowski <[email protected]>
Branch: jitframe-on-heap
Changeset: r61076:fe60721f60e7
Date: 2013-02-11 11:30 +0200
http://bitbucket.org/pypy/pypy/changeset/fe60721f60e7/
Log: fix the xxx
diff --git a/rpython/jit/backend/x86/assembler.py
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -1177,17 +1177,16 @@
self.mc.CALL(x)
if can_collect:
self._reload_frame_if_necessary(self.mc)
- if align:
- self.mc.ADD_ri(esp.value, align * WORD)
if can_collect:
self.pop_gcmap(self.mc)
#
if callconv != FFI_DEFAULT_ABI:
- self._fix_stdcall(callconv, p)
+ self._fix_stdcall(callconv, p - align * WORD)
+ elif align:
+ self.mc.ADD_ri(esp.value, align * WORD)
def _fix_stdcall(self, callconv, p):
from rpython.rlib.clibffi import FFI_STDCALL
- xxx
assert callconv == FFI_STDCALL
# it's a bit stupid, but we're just going to cancel the fact that
# the called function just added 'p' to ESP, by subtracting it again.
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit