diff options
Diffstat (limited to 'rts/sm/GCAux.c')
-rw-r--r-- | rts/sm/GCAux.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rts/sm/GCAux.c b/rts/sm/GCAux.c index 41c24634c2..afed7b075d 100644 --- a/rts/sm/GCAux.c +++ b/rts/sm/GCAux.c @@ -157,7 +157,8 @@ markCAFs (evac_fn evac, void *user) { c = (StgIndStatic *)UNTAG_STATIC_LIST_PTR(c); evac(user, &c->indirectee); - markObjectCode(c); + // See Note [Object unloading] in CheckUnload.c + if (unload_mark_needed) markObjectCode(c); } for (StgIndStatic *c = revertible_caf_list; @@ -166,6 +167,7 @@ markCAFs (evac_fn evac, void *user) { c = (StgIndStatic *)UNTAG_STATIC_LIST_PTR(c); evac(user, &c->indirectee); - markObjectCode(c); + // See Note [Object unloading] in CheckUnload.c + if (unload_mark_needed) markObjectCode(c); } } |