diff options
Diffstat (limited to 'rts/sm/Scav.c')
-rw-r--r-- | rts/sm/Scav.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c index b046f39ad5..7a799d6be6 100644 --- a/rts/sm/Scav.c +++ b/rts/sm/Scav.c @@ -1300,6 +1300,10 @@ scavenge_one(StgPtr p) } case WEAK: + // This WEAK object will not be considered by tidyWeakList during this + // collection because it is in a generation >= N, but it is on the + // mutable list so we must evacuate all of its pointers because some + // of them may point into a younger generation. scavengeLiveWeak((StgWeak *)p); break; |