diff options
Diffstat (limited to 'rts')
-rw-r--r-- | rts/sm/NonMovingMark.c | 7 |
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: |