1 /* -----------------------------------------------------------------------------
3 * (c) The GHC Team, 1998-1999
5 * Prototypes for functions in Sanity.c
7 * ---------------------------------------------------------------------------*/
12 # define PVM_PE_MASK 0xfffc0000
13 # define MAX_PVM_PES MAX_PES
14 # define MAX_PVM_TIDS MAX_PES
15 # define MAX_SLOTS 100000
18 /* debugging routines */
19 extern void checkHeap ( bdescr *bd );
20 extern void checkHeapChunk ( StgPtr start, StgPtr end );
21 extern void checkChain ( bdescr *bd );
22 extern void checkTSO ( StgTSO* tso );
23 extern void checkGlobalTSOList ( rtsBool checkTSOs );
24 extern void checkStaticObjects ( StgClosure* static_objects );
25 extern void checkStackChunk ( StgPtr sp, StgPtr stack_end );
26 extern StgOffset checkStackFrame ( StgPtr sp );
27 extern StgOffset checkClosure ( StgClosure* p );
29 extern void checkMutableList ( StgMutClosure *p, nat gen );
30 extern void checkMutOnceList ( StgMutClosure *p, nat gen );
33 extern void checkTSOsSanity(void);
34 extern rtsBool checkThreadQSanity (PEs proc, rtsBool check_TSO_too);
35 extern rtsBool checkThreadQsSanity (rtsBool check_TSO_too);
39 extern void checkBQ (StgBlockingQueueElement *bqe, StgClosure *closure);
41 extern void checkBQ (StgTSO *bqe, StgClosure *closure);
45 extern void checkLAGAtable(rtsBool check_closures);
46 extern void checkHeapChunk(StgPtr start, StgPtr end);
49 /* test whether an object is already on update list */
50 extern rtsBool isBlackhole( StgTSO* tso, StgClosure* p );