[pypy-commit] pypy jitframe-on-heap: fixes

fijal noreply at buildbot.pypy.org
Mon Feb 11 10:28:25 CET 2013


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r61069:9c927d062ac6
Date: 2013-02-11 11:27 +0200
http://bitbucket.org/pypy/pypy/changeset/9c927d062ac6/

Log:	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
@@ -211,12 +211,14 @@
             # push first arg
             mc.MOV_rr(edi.value, ebp.value)
             align = align_stack_words(1)
+            mc.SUB_ri(esp.value, (align - 1) * WORD)
         else:
-            mc.PUSH(RawStackLoc(WORD * 2))
-            mc.PUSH_r(ebp.value)
             align = align_stack_words(3)
+            mc.MOV_rs(eax.value, WORD * 2)
+            mc.SUB_ri(esp.value, (align - 1) * WORD)
+            mc.MOV_sr(WORD, eax.value)
+            mc.MOV_sr(0, ebp.value)
         # align
-        mc.SUB_ri(esp.value, (align - 1) * WORD)
 
         mc.CALL(imm(self.cpu.realloc_frame))
         mc.ADD_ri(esp.value, (align - 1) * WORD)


More information about the pypy-commit mailing list