Author: Armin Rigo <ar...@tunes.org>
Branch: continulet-jit-2
Changeset: r53068:63da0976540f
Date: 2012-03-01 17:49 +0100
http://bitbucket.org/pypy/pypy/changeset/63da0976540f/

Log:    Free.

diff --git a/pypy/jit/backend/x86/assembler.py 
b/pypy/jit/backend/x86/assembler.py
--- a/pypy/jit/backend/x86/assembler.py
+++ b/pypy/jit/backend/x86/assembler.py
@@ -801,14 +801,20 @@
         gcrootmap = self.cpu.gc_ll_descr.gcrootmap
         if gcrootmap and gcrootmap.is_shadow_stack:
             self._call_footer_shadowstack(gcrootmap)
-
+        #
+        # XXX temporary, possibly move somewhere else
+        self.mc.MOV_rr(ebx.value, eax.value)
+        self.mc.LEA_rb(edi.value, -WORD * (FRAME_FIXED_SIZE-1))
+        if IS_X86_32:
+            self.mc.MOV_sr(0, edi.value)
+        self.mc.CALL(imm(self.offstack_free_addr))
+        self.mc.MOV_rr(eax.value, ebx.value)
+        #
         self.mc.ADD_ri(esp.value, WORD * OFFSTACK_REAL_FRAME + extra_esp)
         for i in range(len(self.cpu.CALLEE_SAVE_REGISTERS)-1, -1, -1):
             loc = self.cpu.CALLEE_SAVE_REGISTERS[i]
             self.mc.MOV_rb(loc.value, WORD*(-1-i))     # (ebp-4-4*i) -> reg
         self.mc.MOV_rb(ebp.value, 0)                   # (ebp) -> ebp
-        # XXX free!
-
         self.mc.RET()
 
     def _call_header_shadowstack(self, gcrootmap):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to