Author: Armin Rigo <[email protected]>
Branch: stmgc-c7
Changeset: r75599:c331dad2c6ab
Date: 2015-01-31 05:01 +0100
http://bitbucket.org/pypy/pypy/changeset/c331dad2c6ab/
Log: translation fixes
diff --git a/rpython/jit/backend/llsupport/jitframe.py
b/rpython/jit/backend/llsupport/jitframe.py
--- a/rpython/jit/backend/llsupport/jitframe.py
+++ b/rpython/jit/backend/llsupport/jitframe.py
@@ -138,10 +138,6 @@
if not gcmap:
return # done
gcmap_lgt = (gcmap + GCMAPLENGTHOFS).signed[0]
- #
- from rpython.jit.backend.llsupport.gcmap import GCMAP_STM_LOCATION
- gcmap_lgt -= GCMAP_STM_LOCATION
- #
no = 0
while no < gcmap_lgt:
cur = (gcmap + GCMAPBASEOFS + UNSIGN_SIZE * no).unsigned[0]
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
@@ -1939,7 +1939,7 @@
self.mc.JMP(imm(target))
return startpos
- def update_stm_location(self, extra_stack=0):
+ def update_stm_location(self, mc, extra_stack=0):
if self.cpu.gc_ll_descr.stm:
num, ref = self._regalloc.extract_raw_stm_location()
mc.MOV_rs(r11.value, STM_SHADOWSTACK_BASE_OFS + extra_stack)
@@ -2453,7 +2453,7 @@
self.mc.J_il8(rx86.Conditions['Z'], 0) # patched later
jmp_adr = self.mc.get_relative_pos()
#
- self.update_stm_location()
+ self.update_stm_location(self.mc)
self.push_gcmap(self.mc, gcmap, store=True)
#
# first save away the 4 registers from 'cond_call_register_arguments'
diff --git a/rpython/jit/backend/x86/callbuilder.py
b/rpython/jit/backend/x86/callbuilder.py
--- a/rpython/jit/backend/x86/callbuilder.py
+++ b/rpython/jit/backend/x86/callbuilder.py
@@ -84,7 +84,7 @@
self.asm.set_extra_stack_depth(self.mc, -self.current_esp)
noregs = self.asm.cpu.gc_ll_descr.is_shadow_stack()
gcmap = self.asm._regalloc.get_gcmap([eax], noregs=noregs)
- self.asm.update_stm_location(-self.current_esp)
+ self.asm.update_stm_location(self.mc, -self.current_esp)
self.asm.push_gcmap(self.mc, gcmap, store=True)
def pop_gcmap(self):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit