Author: Maciej Fijalkowski <[email protected]>
Branch: jitframe-on-heap
Changeset: r61128:99028fa539f2
Date: 2013-02-12 13:19 +0200
http://bitbucket.org/pypy/pypy/changeset/99028fa539f2/
Log: more 32bit fixes
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
@@ -248,12 +248,15 @@
# XXX investigate if we need to save callee-saved registers
# on the frame
mc.SUB_rr(edi.value, eax.value) # compute the size we want
- assert not IS_X86_32
# the arg is already in edi
- if hasattr(self.cpu.gc_ll_descr, 'passes_frame'):
+ mc.SUB_ri(esp.value, 16 - WORD)
+ if IS_X86_32:
+ mc.MOV_sr(0, edi.value)
+ if hasattr(self.cpu.gc_ll_descr, 'passes_frame'):
+ mc.MOV_sr(WORD, ebp.value)
+ elif hasattr(self.cpu.gc_ll_descr, 'passes_frame'):
# for tests only
mc.MOV_rr(esi.value, ebp.value)
- mc.SUB_ri(esp.value, 16 - WORD)
mc.CALL(imm(addr))
mc.ADD_ri(esp.value, 16 - WORD)
mc.TEST_rr(eax.value, eax.value)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit