1 /* -----------------------------------------------------------------------------
3 * (c) The GHC Team, 1998-2005
5 * Statistics and timing-related functions.
7 * ---------------------------------------------------------------------------*/
14 #include "BeginPrivate.h"
18 void stat_startInit(void);
19 void stat_endInit(void);
21 void stat_startGC(struct gc_thread_ *gct);
22 void stat_endGC (struct gc_thread_ *gct, lnat alloc, lnat live,
24 lnat max_copied, lnat avg_copied, lnat slop);
26 void stat_gcWorkerThreadStart (struct gc_thread_ *gct);
27 void stat_gcWorkerThreadDone (struct gc_thread_ *gct);
30 void stat_startRP(void);
36 #endif /* PROFILING */
38 #if defined(PROFILING) || defined(DEBUG)
39 void stat_startHeapCensus(void);
40 void stat_endHeapCensus(void);
43 void stat_startExit(void);
44 void stat_endExit(void);
46 void stat_exit(int alloc);
47 void stat_workerStop(void);
49 void initStats0(void);
50 void initStats1(void);
52 double mut_user_time_during_GC(void);
53 double mut_user_time(void);
56 double mut_user_time_during_RP(void);
57 double mut_user_time_during_heap_census(void);
58 #endif /* PROFILING */
60 void statDescribeGens( void );
62 Ticks stat_getElapsedGCTime(void);
63 Ticks stat_getElapsedTime(void);
65 /* Only exported for Papi.c */
66 void statsPrintf( char *s, ... )
67 GNUC3_ATTRIBUTE(format (printf, 1, 2));
69 #include "EndPrivate.h"