X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2Fparallel%2FParallelDebug.h;h=f8aaeb85d4790cedaeef241144ed028bffefa408;hb=37f7228038a8228e1c33c4eaa3c19cab840ad051;hp=b63268a97a52a4ca3ef1b36e4063b18568f86ed8;hpb=dd4c28a9c706cce09ecc2c6f532969efa925532f;p=ghc-hetmet.git diff --git a/ghc/rts/parallel/ParallelDebug.h b/ghc/rts/parallel/ParallelDebug.h index b63268a..f8aaeb8 100644 --- a/ghc/rts/parallel/ParallelDebug.h +++ b/ghc/rts/parallel/ParallelDebug.h @@ -1,5 +1,5 @@ /* - Time-stamp: + Time-stamp: Prototypes of all parallel debugging functions. */ @@ -7,7 +7,13 @@ #ifndef PARALLEL_DEBUG_H #define PARALLEL_DEBUG_H -#if defined(GRAN) // || defined(PAR) +#if defined(DEBUG) && (defined(GRAN) || defined(PAR)) +/* max length of the string holding a finger-print for a graph */ +#define MAX_FINGER_PRINT_LEN 10000 +// (10*RtsFlags.ParFlags.packBufferSize) +#endif + +#if defined(DEBUG) && defined(GRAN) void G_PRINT_NODE(StgClosure* node); void G_PPN(StgClosure* node); void G_INFO_TABLE(StgClosure* node); @@ -43,10 +49,31 @@ char *info_type_by_ip(StgInfoTable *ip); void PrintPacket(rtsPackBuffer *buffer); void PrintGraph(StgClosure *p, int indent_level); +void GraphFingerPrint(StgClosure *p, char *finger_print); void checkGraph(StgClosure *p, int rec_level); void checkPacket(rtsPackBuffer *packBuffer); #endif /* GRAN || PAR */ +#if defined(PAR) + +/* don't want to import Schedule.h and Sanity.h everywhere */ +extern void print_bq (StgClosure *node); +extern void checkBQ (StgBlockingQueueElement *bqe, StgClosure *closure); + +void checkGAGAMap(globalAddr *gagamap, int nGAs); +extern rtsBool isOnLiveIndTable(globalAddr *ga); +extern void rebuildGAtables(rtsBool full); +extern void rebuildLAGAtable(void); +extern void checkLAGAtable(rtsBool check_closures); +extern void checkHeapChunk(StgPtr start, StgPtr end); +extern void printGA (globalAddr *ga); +extern void printGALA (GALA *gala); +extern void printLiveIndTable(void); +extern void printRemoteGATable(void); +extern void printLAGAtable(void); + +#endif + #endif /* PARALLEL_DEBUG_H */