/* -----------------------------------------------------------------------------
- * $Id: Sanity.h,v 1.3 1999/01/13 17:25:44 simonm Exp $
+ * $Id: Sanity.h,v 1.8 2001/03/22 03:51:10 hwloidl Exp $
+ *
+ * (c) The GHC Team, 1998-1999
*
* Prototypes for functions in Sanity.c
*
* ---------------------------------------------------------------------------*/
#ifdef DEBUG
+
+# if defined(PAR)
+# define PVM_PE_MASK 0xfffc0000
+# define MAX_PVM_PES MAX_PES
+# define MAX_PVM_TIDS MAX_PES
+# define MAX_SLOTS 100000
+# endif
+
/* debugging routines */
extern void checkHeap ( bdescr *bd, StgPtr start );
+extern void checkHeapChunk ( StgPtr start, StgPtr end );
extern void checkChain ( bdescr *bd );
extern void checkStack ( StgPtr sp, StgPtr stack_end, StgUpdateFrame* su );
extern void checkTSO ( StgTSO* tso );
+extern void checkGlobalTSOList (rtsBool checkTSOs);
+extern void checkStaticObjects ( void );
+#if defined(GRAN)
+extern void checkTSOsSanity(void);
+extern rtsBool checkThreadQSanity (PEs proc, rtsBool check_TSO_too);
+extern rtsBool checkThreadQsSanity (rtsBool check_TSO_too);
+#endif
+#if defined(PAR)
+extern void checkBQ (StgBlockingQueueElement *bqe, StgClosure *closure);
+extern void checkLAGAtable(rtsBool check_closures);
+extern void checkHeapChunk(StgPtr start, StgPtr end);
+#else
+extern void checkBQ (StgTSO *bqe, StgClosure *closure);
+#endif
extern StgOffset checkClosure( StgClosure* p );