X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSanity.h;h=8cf3f9e52eab2b3d5ffc71d2bca3a650a27af9d9;hb=3eacdc7faf0d0e87a7201253f9f12c1fb4db7249;hp=7fc6b4f7b579099e2d992b25dd1711a13c98ace3;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/ghc/rts/Sanity.h b/ghc/rts/Sanity.h index 7fc6b4f..8cf3f9e 100644 --- a/ghc/rts/Sanity.h +++ b/ghc/rts/Sanity.h @@ -1,20 +1,56 @@ /* ----------------------------------------------------------------------------- - * $Id: Sanity.h,v 1.2 1998/12/02 13:28:44 simonm Exp $ + * + * (c) The GHC Team, 1998-1999 * * Prototypes for functions in Sanity.c * * ---------------------------------------------------------------------------*/ +#ifndef SANITY_H + #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, nat step ); -extern void checkStack ( StgPtr sp, StgPtr stack_end, StgUpdateFrame* su ); -extern void checkTSO ( StgTSO* tso, nat step ); +extern void checkHeap ( bdescr *bd ); +extern void checkHeapChunk ( StgPtr start, StgPtr end ); +extern void checkChain ( bdescr *bd ); +extern void checkTSO ( StgTSO* tso ); +extern void checkGlobalTSOList ( rtsBool checkTSOs ); +extern void checkStaticObjects ( StgClosure* static_objects ); +extern void checkStackChunk ( StgPtr sp, StgPtr stack_end ); +extern StgOffset checkStackFrame ( StgPtr sp ); +extern StgOffset checkClosure ( StgClosure* p ); -extern StgOffset checkClosure( StgClosure* p ); +extern void checkMutableList ( bdescr *bd, nat gen ); + +#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); +#else +extern void checkBQ (StgTSO *bqe, StgClosure *closure); +#endif + +#if defined(PAR) +extern void checkLAGAtable(rtsBool check_closures); +extern void checkHeapChunk(StgPtr start, StgPtr end); +#endif /* test whether an object is already on update list */ extern rtsBool isBlackhole( StgTSO* tso, StgClosure* p ); #endif /* DEBUG */ +#endif /* SANITY_H */ +