X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSanity.h;h=eeba793e005351221a3a265b2a3923a1f43f20bc;hb=b9d46a06dce3bf3bdeb805f35c35e0e68ab2f2d0;hp=461da8b2ceb174803d781090d81ba914ad5f35d5;hpb=dd4c28a9c706cce09ecc2c6f532969efa925532f;p=ghc-hetmet.git diff --git a/ghc/rts/Sanity.h b/ghc/rts/Sanity.h index 461da8b..eeba793 100644 --- a/ghc/rts/Sanity.h +++ b/ghc/rts/Sanity.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Sanity.h,v 1.6 2000/03/31 03:09:36 hwloidl Exp $ + * $Id: Sanity.h,v 1.10 2002/12/11 15:36:50 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -8,27 +8,44 @@ * ---------------------------------------------------------------------------*/ #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 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 ); +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 void checkMutableList ( StgMutClosure *p, nat gen ); +extern void checkMutOnceList ( StgMutClosure *p, 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); -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 ); +#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 );