X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fsm%2FGC.c;h=5cd1298df7d7d4885e3278ed0e63fa431b12e0e3;hb=17a596022d01987d5ffe7db0742aa8db267b8cc3;hp=ef0c79a6ea99c245903cdd421c20c101d514a41f;hpb=c1580e72e315576b5f58427f1c29f268b565e95e;p=ghc-hetmet.git diff --git a/rts/sm/GC.c b/rts/sm/GC.c index ef0c79a..5cd1298 100644 --- a/rts/sm/GC.c +++ b/rts/sm/GC.c @@ -335,7 +335,8 @@ GarbageCollect ( rtsBool force_major_gc ) // follow all the roots that the application knows about. gct->evac_step = 0; - markSomeCapabilities(mark_root, gct, gct->thread_index, n_gc_threads); + markSomeCapabilities(mark_root, gct, gct->thread_index, n_gc_threads, + rtsTrue/*prune sparks*/); #if defined(RTS_USER_SIGNALS) // mark the signal handlers (signals should be already blocked) @@ -1004,7 +1005,8 @@ gc_thread_work (void) // Every thread evacuates some roots. gct->evac_step = 0; - markSomeCapabilities(mark_root, gct, gct->thread_index, n_gc_threads); + markSomeCapabilities(mark_root, gct, gct->thread_index, n_gc_threads, + rtsTrue/*prune sparks*/); scavenge_until_all_done(); }