X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2Fparallel%2FParallelDebug.h;h=f8aaeb85d4790cedaeef241144ed028bffefa408;hb=a35a6325322ea7fef4fe66d34bba5bf59231f7cc;hp=427b8929090e3d5909f83f2d1f585582fbbf7ca5;hpb=7c1923545f7ea643a03ff37084dcb9a92695133e;p=ghc-hetmet.git diff --git a/ghc/rts/parallel/ParallelDebug.h b/ghc/rts/parallel/ParallelDebug.h index 427b892..f8aaeb8 100644 --- a/ghc/rts/parallel/ParallelDebug.h +++ b/ghc/rts/parallel/ParallelDebug.h @@ -1,13 +1,19 @@ /* - Time-stamp: + Time-stamp: Prototypes of all parallel debugging functions. - */ +*/ #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); @@ -37,10 +43,37 @@ void GIT(StgPtr node); #if defined(GRAN) || defined(PAR) char *display_info_type(StgClosure *closure, char *str); +void info_hdr_type(StgClosure *closure, char *res); +char *info_type(StgClosure *closure); +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 */