summaryrefslogtreecommitdiff
path: root/pthread_stop_world.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-04-13 09:20:02 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-04-17 12:50:54 +0300
commit353babf906332cd47a76ba9a25a84137a66c4ca7 (patch)
treebb883639584e72f201afd85c44cab126cbf3f428 /pthread_stop_world.c
parent7f97528c5c3e657629eb407b45fc858436f0af80 (diff)
downloadbdwgc-353babf906332cd47a76ba9a25a84137a66c4ca7.tar.gz
Eliminate duplicate GC_save_regs_in_stack calls (E2K)
(fix of commit 9ddbbae8e) Issue #411 (bdwgc). Also, add the corresponding TODO item for IA64 and SPARC. * pthread_stop_world.c [!GC_OPENBSD_UTHREADS && !NACL] (GC_store_stack_ptr): Add TODO item. * pthread_support.c [SPARC || IA64] (do_blocking_enter): Likewise. * pthread_stop_world.c [!GC_OPENBSD_UTHREADS && !NACL && E2K] (GC_store_stack_ptr): Remove GC_save_regs_in_stack() call. * pthread_support.c [E2K] (do_blocking_enter): Likewise.
Diffstat (limited to 'pthread_stop_world.c')
-rw-r--r--pthread_stop_world.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/pthread_stop_world.c b/pthread_stop_world.c
index 6e02502f..1a229b52 100644
--- a/pthread_stop_world.c
+++ b/pthread_stop_world.c
@@ -310,10 +310,9 @@ GC_INLINE void GC_store_stack_ptr(GC_thread me)
# ifdef SPARC
ao_store_async((volatile AO_t *)&me->stop_info.stack_ptr,
(AO_t)GC_save_regs_in_stack());
+ /* TODO: regs saving already done by GC_with_callee_saves_pushed */
# else
-# ifdef E2K
- (void)GC_save_regs_in_stack();
-# elif defined(IA64)
+# ifdef IA64
me -> backing_store_ptr = GC_save_regs_in_stack();
# endif
ao_store_async((volatile AO_t *)&me->stop_info.stack_ptr,