summaryrefslogtreecommitdiff
path: root/pthread_stop_world.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-04-21 08:58:56 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-04-21 14:01:00 +0300
commitcae46fbdc4925cd05016ce5bc11cfe7d71ef8809 (patch)
tree998142ad1aef957752d8f6b84287bad03034a580 /pthread_stop_world.c
parentc207ad8ee73bbd41940f4bd15c958a4f41047859 (diff)
downloadbdwgc-cae46fbdc4925cd05016ce5bc11cfe7d71ef8809.tar.gz
Eliminate redundant AO acquire barrier in GC_suspend_handler_inner
(fix of commit c207ad8ee) * pthread_stop_world.c [!GC_OPENBSD_UTHREADS && !NACL && GC_ENABLE_SUSPEND_THREAD] (GC_suspend_handler_inner): Use ao_load_async() for me->stop_info.ext_suspend_cnt instead of ao_load_acquire_async().
Diffstat (limited to 'pthread_stop_world.c')
-rw-r--r--pthread_stop_world.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pthread_stop_world.c b/pthread_stop_world.c
index ad1be33f..23b6cf31 100644
--- a/pthread_stop_world.c
+++ b/pthread_stop_world.c
@@ -398,8 +398,8 @@ STATIC void GC_suspend_handler_inner(ptr_t dummy GC_ATTR_UNUSED,
} while (ao_load_acquire_async(&GC_stop_count) == my_stop_count
# ifdef GC_ENABLE_SUSPEND_THREAD
|| ((suspend_cnt & 1) != 0
- && (word)ao_load_acquire_async(
- &(me -> stop_info.ext_suspend_cnt)) == suspend_cnt)
+ && (word)ao_load_async(&(me -> stop_info.ext_suspend_cnt))
+ == suspend_cnt)
# endif
);