[pypy-commit] pypy continulet-jit-2: Free.
arigo
noreply at buildbot.pypy.org
Thu Mar 1 17:49:58 CET 2012
Author: Armin Rigo <arigo at 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):
More information about the pypy-commit
mailing list