summaryrefslogtreecommitdiff
path: root/rts/ProfHeap.c
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2011-07-24 00:01:54 +0100
committerIan Lynagh <igloo@earth.li>2011-07-24 00:01:54 +0100
commit4f8cfaf97168e5f81925f9254dabcea38603c48f (patch)
tree61c938fbe348f6c5327aba868aebd879c6efcfd0 /rts/ProfHeap.c
parent2b42de78c59d81300aa62b17cf2b5d984fa55e84 (diff)
downloadhaskell-4f8cfaf97168e5f81925f9254dabcea38603c48f.tar.gz
Fix heap profiling times
Now that the heap census runs in the middle of garbage collections, the "CPU time" it was calculating included any CPU time used so far in the current GC. This could cause CPU time to appear to go down, which means hp2ps complained about "samples out of sequence". I'm not sure if this is the nicest way to solve this (maybe resurrecting mut_user_time_during_GC would be better?) but it gets things working again.
Diffstat (limited to 'rts/ProfHeap.c')
-rw-r--r--rts/ProfHeap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/ProfHeap.c b/rts/ProfHeap.c
index e88d7042ed..9d95b4ccc0 100644
--- a/rts/ProfHeap.c
+++ b/rts/ProfHeap.c
@@ -1071,14 +1071,14 @@ heapCensusChain( Census *census, bdescr *bd )
}
void
-heapCensus( void )
+heapCensus( Ticks t )
{
nat g, n;
Census *census;
gen_workspace *ws;
census = &censuses[era];
- census->time = mut_user_time();
+ census->time = mut_user_time_until(t);
// calculate retainer sets if necessary
#ifdef PROFILING