Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/2f3a41d92bf7bba45a1f37f4dfeaed84ac4ac52a >--------------------------------------------------------------- commit 2f3a41d92bf7bba45a1f37f4dfeaed84ac4ac52a Author: Simon Marlow <[email protected]> Date: Tue Jun 5 21:17:00 2012 +0100 The final GC should be a major one We do a final GC before shutting down the system, to clean up. However, we were doing an ordinary GC rather than forcing a major GC, so especially when the allocation area is large, this final GC could be expensive. This is really just a bug - the final GC should have virtually nothing to do, because there is nothing live. >--------------------------------------------------------------- rts/Schedule.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/rts/Schedule.c b/rts/Schedule.c index 3265653..5a8c35f 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -2454,7 +2454,7 @@ exitScheduler (rtsBool wait_foreign USED_IF_THREADS) sched_state = SCHED_INTERRUPTING; Capability *cap = task->cap; waitForReturnCapability(&cap,task); - scheduleDoGC(&cap,task,rtsFalse); + scheduleDoGC(&cap,task,rtsTrue); ASSERT(task->incall->tso == NULL); releaseCapability(cap); } _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
