diff options
Diffstat (limited to 'rts/sm/MarkWeak.c')
-rw-r--r-- | rts/sm/MarkWeak.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/rts/sm/MarkWeak.c b/rts/sm/MarkWeak.c index 2393536a74..7e3e1d5818 100644 --- a/rts/sm/MarkWeak.c +++ b/rts/sm/MarkWeak.c @@ -269,13 +269,7 @@ static rtsBool tidyWeakList(generation *gen) gct->evac_gen_no = new_gen->no; gct->failed_to_evac = rtsFalse; - // evacuate the value and finalizer - // - // 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. + // evacuate the fields of the weak ptr scavengeLiveWeak(w); if (gct->failed_to_evac) { |