RTS tidyup sweep, first phase
[ghc-hetmet.git] / rts / Sanity.h
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 1998-1999
4  *
5  * Prototypes for functions in Sanity.c
6  *
7  * ---------------------------------------------------------------------------*/
8
9 #ifndef SANITY_H
10 #define SANITY_H
11
12 #ifdef DEBUG
13
14 # if defined(PAR)
15 # define PVM_PE_MASK    0xfffc0000
16 # define MAX_PVM_PES    MAX_PES
17 # define MAX_PVM_TIDS   MAX_PES
18 # define MAX_SLOTS      100000
19 # endif
20
21 /* debugging routines */
22 extern void checkHeap      ( bdescr *bd );
23 extern void checkHeapChunk ( StgPtr start, StgPtr end );
24 extern void checkLargeObjects ( bdescr *bd );
25 extern void checkTSO       ( StgTSO* tso );
26 extern void checkGlobalTSOList ( rtsBool checkTSOs );
27 extern void checkStaticObjects ( StgClosure* static_objects );
28 extern void checkStackChunk    ( StgPtr sp, StgPtr stack_end );
29 extern StgOffset checkStackFrame ( StgPtr sp );
30 extern StgOffset checkClosure  ( StgClosure* p );
31
32 extern void checkMutableList   ( bdescr *bd, nat gen );
33 extern void checkMutableLists ( rtsBool checkTSOs );
34
35 extern void checkBQ (StgTSO *bqe, StgClosure *closure);
36
37 /* test whether an object is already on update list */
38 extern rtsBool isBlackhole( StgTSO* tso, StgClosure* p );
39
40 #endif /* DEBUG */
41  
42 #endif /* SANITY_H */