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