rts: add Emacs 'Local Variables' to every .c file
[ghc.git] / rts / Profiling.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2005
4 *
5 * Support for profiling
6 *
7 * ---------------------------------------------------------------------------*/
8
9 #ifndef PROFILING_H
10 #define PROFILING_H
11
12 #include <stdio.h>
13
14 #include "BeginPrivate.h"
15 #include "Rts.h"
16
17 #ifdef PROFILING
18 #define PROFILING_ONLY(s) s
19 #else
20 #define PROFILING_ONLY(s) doNothing()
21 #endif
22
23 void initProfiling1 (void);
24 void initProfiling2 (void);
25 void endProfiling (void);
26 void freeProfiling (void);
27
28 extern FILE *prof_file;
29 extern FILE *hp_file;
30
31 #ifdef PROFILING
32
33 void reportCCSProfiling ( void );
34
35 void PrintNewStackDecls ( void );
36
37 void fprintCCS( FILE *f, CostCentreStack *ccs );
38 void fprintCCS_stderr (CostCentreStack *ccs, StgClosure *exception, StgTSO *tso);
39
40 #ifdef DEBUG
41 void debugCCS( CostCentreStack *ccs );
42 #endif
43
44 #endif
45
46 #include "EndPrivate.h"
47
48 #endif /* PROFILING_H */
49
50 // Local Variables:
51 // mode: C
52 // fill-column: 80
53 // indent-tabs-mode: nil
54 // c-basic-offset: 4
55 // buffer-file-coding-system: utf-8-unix
56 // End: