[project @ 2004-02-12 02:04:59 by mthomas]
[ghc-hetmet.git] / ghc / rts / Stats.h
1 /* -----------------------------------------------------------------------------
2  * $Id: Stats.h,v 1.17 2002/02/06 01:21:41 sof Exp $
3  *
4  * (c) The GHC Team, 1998-1999
5  *
6  * Statistics and timing-related functions.
7  *
8  * ---------------------------------------------------------------------------*/
9
10 extern void      stat_startInit(void);
11 extern void      stat_endInit(void);
12
13 extern void      stat_startGC(void);
14 extern void      stat_endGC(lnat alloc, lnat collect, lnat live, 
15                             lnat copied, lnat gen);
16
17 #ifdef PROFILING
18 extern void      stat_startRP(void);
19 extern void      stat_endRP(nat, 
20 #ifdef DEBUG_RETAINER
21                             nat, int, 
22 #endif
23                             double);
24 #endif // PROFILING
25
26 #if defined(PROFILING) || defined(DEBUG)
27 extern void      stat_startHeapCensus(void);
28 extern void      stat_endHeapCensus(void);
29 #endif
30
31 extern void      stat_startExit(void);
32 extern void      stat_endExit(void);
33
34 extern void      stat_exit(int alloc);
35 extern void      stat_workerStop(void);
36
37 extern void      initStats(void);
38
39 extern double    mut_user_time_during_GC(void);
40 extern double    mut_user_time(void);
41
42 #ifdef PROFILING
43 extern double    mut_user_time_during_RP(void);
44 extern double    mut_user_time_during_heap_census(void);
45 #endif // PROFILING
46
47 extern void      statDescribeGens( void );
48 extern HsInt     getAllocations( void );
49
50 #if defined(SMP)
51 extern long int  stat_getElapsedTime ( void );
52 #endif