diff options
author | Simon Marlow <simonmar@microsoft.com> | 2006-04-07 02:05:11 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2006-04-07 02:05:11 +0000 |
commit | 0065d5ab628975892cea1ec7303f968c3338cbe1 (patch) | |
tree | 8e2afe0ab48ee33cf95009809d67c9649573ef92 /rts/parallel/ParallelDebug.h | |
parent | 28a464a75e14cece5db40f2765a29348273ff2d2 (diff) | |
download | haskell-0065d5ab628975892cea1ec7303f968c3338cbe1.tar.gz |
Reorganisation of the source tree
Most of the other users of the fptools build system have migrated to
Cabal, and with the move to darcs we can now flatten the source tree
without losing history, so here goes.
The main change is that the ghc/ subdir is gone, and most of what it
contained is now at the top level. The build system now makes no
pretense at being multi-project, it is just the GHC build system.
No doubt this will break many things, and there will be a period of
instability while we fix the dependencies. A straightforward build
should work, but I haven't yet fixed binary/source distributions.
Changes to the Building Guide will follow, too.
Diffstat (limited to 'rts/parallel/ParallelDebug.h')
-rw-r--r-- | rts/parallel/ParallelDebug.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/rts/parallel/ParallelDebug.h b/rts/parallel/ParallelDebug.h new file mode 100644 index 0000000000..f8aaeb85d4 --- /dev/null +++ b/rts/parallel/ParallelDebug.h @@ -0,0 +1,79 @@ +/* + Time-stamp: <Tue Mar 06 2001 00:25:14 Stardate: [-30]6285.08 hwloidl> + + Prototypes of all parallel debugging functions. +*/ + +#ifndef PARALLEL_DEBUG_H +#define PARALLEL_DEBUG_H + +#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); +void G_CURR_THREADQ(StgInt verbose); +void G_THREADQ(StgTSO* closure, StgInt verbose); +void G_TSO(StgTSO* closure, StgInt verbose); +void G_EVENT(rtsEventQ event, StgInt verbose); +void G_EVENTQ(StgInt verbose); +void G_PE_EQ(PEs pe, StgInt verbose); +void G_SPARK(rtsSparkQ spark, StgInt verbose); +void G_SPARKQ(rtsSparkQ spark, StgInt verbose); +void G_CURR_SPARKQ(StgInt verbose); +void G_PROC(StgInt proc, StgInt verbose); +void GP(StgInt proc); +void GCP(void); +void GT(StgPtr tso); +void GCT(void); +void GEQ(void); +void GTQ(PEs p); +void GCTQ(void); +void GSQ(PEs p); +void GCSQ(void); +void GN(StgPtr node); +void GIT(StgPtr node); +#endif + +#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 */ |