summaryrefslogtreecommitdiff
path: root/rts/sm/GCAux.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/sm/GCAux.c')
-rw-r--r--rts/sm/GCAux.c6
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);
}
}