[commit: ghc] master: scheduleDoGC: if we're doing heapCensus(), do it *before* releasing (9fb9395)
Simon Marlow
marlowsd at gmail.com
Wed May 11 12:54:22 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/9fb9395beebc5c6f85571991af7fd55b4db86977
>---------------------------------------------------------------
commit 9fb9395beebc5c6f85571991af7fd55b4db86977
Author: Simon Marlow <marlowsd at gmail.com>
Date: Wed May 11 11:00:10 2011 +0100
scheduleDoGC: if we're doing heapCensus(), do it *before* releasing
the other mutator threads (#5127)
>---------------------------------------------------------------
rts/Schedule.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/rts/Schedule.c b/rts/Schedule.c
index f5cb568..9636223 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -1447,6 +1447,12 @@ delete_threads_and_gc:
recent_activity = ACTIVITY_YES;
}
+ if (heap_census) {
+ debugTrace(DEBUG_sched, "performing heap census");
+ heapCensus();
+ performHeapProfile = rtsFalse;
+ }
+
#if defined(THREADED_RTS)
if (gc_type == PENDING_GC_PAR)
{
@@ -1454,12 +1460,6 @@ delete_threads_and_gc:
}
#endif
- if (heap_census) {
- debugTrace(DEBUG_sched, "performing heap census");
- heapCensus();
- performHeapProfile = rtsFalse;
- }
-
if (heap_overflow && sched_state < SCHED_INTERRUPTING) {
// GC set the heap_overflow flag, so we should proceed with
// an orderly shutdown now. Ultimately we want the main
More information about the Cvs-ghc
mailing list