summaryrefslogtreecommitdiff
path: root/ghc/rts/Stats.h
blob: 59fe58ab9d329f2956da7f6c33a97adaea3bf308 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* -----------------------------------------------------------------------------
 * $Id: Stats.h,v 1.14 2001/11/26 16:54:22 simonmar Exp $
 *
 * (c) The GHC Team, 1998-1999
 *
 * Statistics and timing-related functions.
 *
 * ---------------------------------------------------------------------------*/

extern void      stat_startInit(void);
extern void      stat_endInit(void);

extern void      stat_startGC(void);
extern void      stat_endGC(lnat alloc, lnat collect, lnat live, 
			    lnat copied, lnat gen);

#ifdef PROFILING
extern void      stat_startRP(void);
extern void      stat_endRP(nat, 
#ifdef DEBUG_RETAINER
                            nat, int, 
#endif
                            double);
#endif // PROFILING

#if defined(PROFILING) || defined(DEBUG)
extern void      stat_startHeapCensus(void);
extern void      stat_endHeapCensus(void);
#endif

extern void      stat_startExit(void);
extern void      stat_endExit(void);

extern void      stat_exit(int alloc);
extern void      stat_workerStop(void);

extern void      initStats(void);

extern double    mut_user_time_during_GC(void);
extern double    mut_user_time(void);

#ifdef PROFILING
extern double    mut_user_time_during_RP(void);
extern double    mut_user_time_during_heap_census(void);
#endif // PROFILING

extern void      statDescribeGens( void );
extern HsInt     getAllocations( void );