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

Reply via email to