Author: Armin Rigo <ar...@tunes.org> Branch: stmgc-c7 Changeset: r72949:93fa346570f6 Date: 2014-08-21 17:24 +0200 http://bitbucket.org/pypy/pypy/changeset/93fa346570f6/
Log: Split rewind_jmp_enterframe() into two calls diff --git a/rpython/translator/c/funcgen.py b/rpython/translator/c/funcgen.py --- a/rpython/translator/c/funcgen.py +++ b/rpython/translator/c/funcgen.py @@ -201,6 +201,8 @@ yield 'rewind_jmp_buf rjbuf1;' if self.use_stm_rewind_jmp_frame == "automatic": yield 'stm_rewind_jmp_enterframe(&stm_thread_local, &rjbuf1);' + else: + yield 'stm_rewind_jmp_prepareframe(&rjbuf1);' # graph = self.graph yield 'goto block0;' # to avoid a warning "this label is not used" diff --git a/rpython/translator/stm/src_stm/stmgcintf.c b/rpython/translator/stm/src_stm/stmgcintf.c --- a/rpython/translator/stm/src_stm/stmgcintf.c +++ b/rpython/translator/stm/src_stm/stmgcintf.c @@ -96,7 +96,8 @@ assert(pypy_transaction_length >= 0); int e = errno; pypy_stm_register_thread_local(); - stm_rewind_jmp_enterframe(&stm_thread_local, (rewind_jmp_buf *)rjbuf); + stm_rewind_jmp_enterprepframe(&stm_thread_local, + (rewind_jmp_buf *)rjbuf); errno = e; pypy_stm_ready_atomic = 1; pypy_stm_start_if_not_atomic(); @@ -104,7 +105,8 @@ } else { /* callback from C code, itself called from Python code */ - stm_rewind_jmp_enterframe(&stm_thread_local, (rewind_jmp_buf *)rjbuf); + stm_rewind_jmp_enterprepframe(&stm_thread_local, + (rewind_jmp_buf *)rjbuf); pypy_stm_start_if_not_atomic(); return 0; } _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit