diff options
author | Simon Marlow <simonmar@microsoft.com> | 2006-06-08 14:42:10 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2006-06-08 14:42:10 +0000 |
commit | 5a2769f0273dd389977e8283375e7920d183bdd4 (patch) | |
tree | cc5ffb1521eca3fb4f8c59ba649c8c16b852f125 /rts/Sparks.c | |
parent | 3f10646cfe2c3409056a49d1ef1c4507af522573 (diff) | |
download | haskell-5a2769f0273dd389977e8283375e7920d183bdd4.tar.gz |
New tracing interface
A simple interface for generating trace messages with timestamps and
thread IDs attached to them. Most debugging output goes through this
interface now, so it is straightforward to get timestamped debugging
traces with +RTS -vt. Also, we plan to use this to generate
parallelism profiles from the trace output.
Diffstat (limited to 'rts/Sparks.c')
-rw-r--r-- | rts/Sparks.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/rts/Sparks.c b/rts/Sparks.c index 615d832e33..68ad19ddd3 100644 --- a/rts/Sparks.c +++ b/rts/Sparks.c @@ -21,6 +21,7 @@ # include "GranSimRts.h" # endif #include "Sparks.h" +#include "Trace.h" #if defined(THREADED_RTS) || defined(PARALLEL_HASKELL) @@ -149,19 +150,18 @@ markSparkQueue (evac_fn evac) PAR_TICKY_MARK_SPARK_QUEUE_END(n); #if defined(PARALLEL_HASKELL) - IF_DEBUG(scheduler, - debugBelch("markSparkQueue: marked %d sparks and pruned %d sparks on [%x]", - n, pruned_sparks, mytid)); + debugTrace(DEBUG_sched, + "marked %d sparks and pruned %d sparks on [%x]", + n, pruned_sparks, mytid); #else - IF_DEBUG(scheduler, - debugBelch("markSparkQueue: marked %d sparks and pruned %d sparks\n", - n, pruned_sparks)); + debugTrace(DEBUG_sched, + "marked %d sparks and pruned %d sparks", + n, pruned_sparks); #endif - IF_DEBUG(scheduler, - debugBelch("markSparkQueue: new spark queue len=%d; (hd=%p; tl=%p)\n", - sparkPoolSize(pool), pool->hd, pool->tl)); - + debugTrace(DEBUG_sched, + "new spark queue len=%d; (hd=%p; tl=%p)\n", + sparkPoolSize(pool), pool->hd, pool->tl); } } @@ -825,8 +825,9 @@ markSparkQueue(void) // ToDo?: statistics gathering here (also for GUM!) sp->node = (StgClosure *)MarkRoot(sp->node); } + IF_DEBUG(gc, - debugBelch("@@ markSparkQueue: spark statistics at start of GC:"); + debugBelch("markSparkQueue: spark statistics at start of GC:"); print_sparkq_stats()); } |