Author: Armin Rigo <ar...@tunes.org> Branch: c8-gil-like Changeset: r1795:c8581bc6bc2a Date: 2015-06-09 17:16 +0200 http://bitbucket.org/pypy/stmgc/changeset/c8581bc6bc2a/
Log: tweaks, some tests pass again diff --git a/c8/stm/detach.c b/c8/stm/detach.c --- a/c8/stm/detach.c +++ b/c8/stm/detach.c @@ -65,12 +65,12 @@ */ assert(_has_mutex()); - restart: - stm_thread_local_t *old = stm_detached_inevitable_from_thread; + restart:; + stm_thread_local_t *old = _stm_detached_inevitable_from_thread; if (old == NULL || old == DETACHED_NO_THREAD) return; - if (!__sync_bool_compare_and_swap(&stm_detached_inevitable_from_thread, + if (!__sync_bool_compare_and_swap(&_stm_detached_inevitable_from_thread, old, DETACHED_NO_THREAD)) goto restart; } diff --git a/c8/stmgc.h b/c8/stmgc.h --- a/c8/stmgc.h +++ b/c8/stmgc.h @@ -419,13 +419,13 @@ far more efficient than constantly starting and committing transactions. */ -inline void stm_enter_transactional_zone(stm_thread_local_t *tl) { +static inline void stm_enter_transactional_zone(stm_thread_local_t *tl) { stm_thread_local_t *old = __sync_lock_test_and_set( /* XCHG */ &_stm_detached_inevitable_from_thread, NULL); if (old != (tl)) _stm_reattach_transaction(old, tl); } -inline void stm_leave_transactional_zone(stm_thread_local_t *tl) { +static inline void stm_leave_transactional_zone(stm_thread_local_t *tl) { assert(STM_SEGMENT->running_thread == tl); if (stm_is_inevitable()) _stm_detach_inevitable_transaction(tl); _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit