[pypy-commit] stmgc c8-gil-like: tweaks, some tests pass again

arigo noreply at buildbot.pypy.org
Tue Jun 9 17:15:28 CEST 2015


Author: Armin Rigo <arigo at 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);


More information about the pypy-commit mailing list