move sanity checking code from Storage.c to Sanity.c
[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 BEGIN_RTS_PRIVATE
15
16 # if defined(PAR)
17 # define PVM_PE_MASK    0xfffc0000
18 # define MAX_PVM_PES    MAX_PES
19 # define MAX_PVM_TIDS   MAX_PES
20 # define MAX_SLOTS      100000
21 # endif
22
23 /* debugging routines */
24 void checkSanity        ( rtsBool check_heap );
25 void checkNurserySanity ( step *stp );
26 void checkHeap          ( bdescr *bd );
27 void checkHeapChunk     ( StgPtr start, StgPtr end );
28 void checkLargeObjects  ( bdescr *bd );
29 void checkTSO           ( StgTSO* tso );
30 void checkGlobalTSOList ( rtsBool checkTSOs );
31 void checkStaticObjects ( StgClosure* static_objects );
32 void checkStackChunk    ( StgPtr sp, StgPtr stack_end );
33 StgOffset checkStackFrame ( StgPtr sp );
34 StgOffset checkClosure  ( StgClosure* p );
35
36 void checkMutableList   ( bdescr *bd, nat gen );
37 void checkMutableLists  ( rtsBool checkTSOs );
38
39 void checkBQ (StgTSO *bqe, StgClosure *closure);
40
41 END_RTS_PRIVATE
42
43 #endif /* DEBUG */
44  
45 #endif /* SANITY_H */