summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-12-04 16:18:47 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-03-08 15:02:30 -0500
commitbd9cd84bbbb51f21c7b2b478e1f5971e2659b9fd (patch)
treee25e5e5338a04bd3ced0b85cab0c8e2ec12ff80f
parent532262b95b2eaa685a22279a8e54cc2e379e21ef (diff)
downloadhaskell-bd9cd84bbbb51f21c7b2b478e1f5971e2659b9fd.tar.gz
nonmoving: Add missing no-op in busy-wait loop
-rw-r--r--rts/sm/NonMovingMark.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/rts/sm/NonMovingMark.c b/rts/sm/NonMovingMark.c
index a6ce3678bc..e4c1c57d36 100644
--- a/rts/sm/NonMovingMark.c
+++ b/rts/sm/NonMovingMark.c
@@ -1310,8 +1310,11 @@ mark_closure (MarkQueue *queue, const StgClosure *p0, StgClosure **origin)
goto done;
case WHITEHOLE:
- while (*(StgInfoTable* volatile*) &p->header.info == &stg_WHITEHOLE_info);
- // busy_wait_nop(); // FIXME
+ while (*(StgInfoTable* volatile*) &p->header.info == &stg_WHITEHOLE_info)
+#if defined(PARALLEL_GC)
+ busy_wait_nop()
+#endif
+ ;
goto try_again;
default: