Author: Armin Rigo <[email protected]>
Branch: stmgc-c7-rewindjmp
Changeset: r72870:ebf6e1ab041b
Date: 2014-08-18 10:51 +0200
http://bitbucket.org/pypy/pypy/changeset/ebf6e1ab041b/
Log: Kill more stuff
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
@@ -837,35 +837,6 @@
def _call_footer(self):
gcrootmap = self.cpu.gc_ll_descr.gcrootmap
- if self.cpu.gc_ll_descr.stm and we_are_translated():
- # call _pypy_stm_become_inevitable() if the current jmpbuf is set
- # to this frame, because we're about to leave. This is if
- # we called a pypy_stm_start_transaction() earlier.
- assert IS_X86_64
- mc = self.mc
- #
- # load the address of the jmpbuf
- mc.LEA_rs(edi.value, STM_JMPBUF_OFS)
- # compare it with the currently-stored jmpbuf
- mc.CMP_rj(edi.value, (self.SEGMENT_GC, rstm.adr_jmpbuf_ptr))
- # if they differ (or if jmpbuf_ptr is already NULL), nothing to do
- mc.J_il8(rx86.Conditions['NE'], 0) # patched later
- jne_location = mc.get_relative_pos()
- #
- # if they are equal, we need to become inevitable now
- mc.XOR_rr(edi.value, edi.value)
- mc.CALL(imm(rstm.adr__pypy_stm_become_inevitable))
- # there could have been a collection in the call above;
- # reload the frame into ebp (but we don't need to apply the
- # write barrier to it now)
- mc.MOV(ecx, self.heap_shadowstack_top())
- mc.MOV_rm(ebp.value, (self.SEGMENT_NO, ecx.value, -WORD))
- #
- # this is where the JNE above jumps
- offset = mc.get_relative_pos() - jne_location
- assert 0 < offset <= 127
- mc.overwrite(jne_location-1, chr(offset))
-
if gcrootmap and gcrootmap.is_shadow_stack:
self._call_footer_shadowstack()
diff --git a/rpython/rlib/rstm.py b/rpython/rlib/rstm.py
--- a/rpython/rlib/rstm.py
+++ b/rpython/rlib/rstm.py
@@ -25,8 +25,6 @@
CFlexSymbolic('((long)&stm_thread_local.rjthread.moved_off_base'))
adr_transaction_read_version = (
CFlexSymbolic('((long)&STM_SEGMENT->transaction_read_version)'))
-adr_jmpbuf_ptr = (
- CFlexSymbolic('((long)&STM_SEGMENT->jmpbuf_ptr)'))
adr_segment_base = (
CFlexSymbolic('((long)&STM_SEGMENT->segment_base)'))
adr_write_slowpath = CFlexSymbolic('((long)&_stm_write_slowpath)')
@@ -37,12 +35,6 @@
CARD_MARKED = CFlexSymbolic('_STM_CARD_MARKED')
CARD_SIZE = CFlexSymbolic('_STM_CARD_SIZE')
-adr__pypy_stm_become_inevitable = (
- CFlexSymbolic('((long)&_pypy_stm_become_inevitable)'))
-adr_stm_commit_transaction = (
- CFlexSymbolic('((long)&stm_commit_transaction)'))
-adr_pypy_stm_start_transaction = (
- CFlexSymbolic('((long)&pypy_stm_start_transaction)'))
adr_pypy__rewind_jmp_copy_stack_slice = (
CFlexSymbolic('((long)&pypy__rewind_jmp_copy_stack_slice)'))
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit