X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FTrace.h;h=27de60e4ed3443ff2221f7fc8f5c88d13341aada;hb=d8334d807812e40f67770ffc37608c0ce66f96b2;hp=f8b6ad497dd17cb97b55d15e3f0d3c50c08918d5;hpb=015d3d46b6de2f95386a515a7d166d996a0416db;p=ghc-hetmet.git diff --git a/rts/Trace.h b/rts/Trace.h index f8b6ad4..27de60e 100644 --- a/rts/Trace.h +++ b/rts/Trace.h @@ -16,7 +16,7 @@ #include "RtsProbes.h" #endif /* defined(DTRACE) */ -BEGIN_RTS_PRIVATE +#include "BeginPrivate.h" // ----------------------------------------------------------------------------- // EventLog API @@ -27,6 +27,7 @@ BEGIN_RTS_PRIVATE void initTracing (void); void endTracing (void); void freeTracing (void); +void resetTracing (void); #endif /* TRACING */ @@ -135,6 +136,15 @@ void traceUserMsg(Capability *cap, char *msg); #define debugTrace(class, str, ...) /* nothing */ #endif +#ifdef DEBUG +#define debugTraceCap(class, cap, msg, ...) \ + if (RTS_UNLIKELY(class)) { \ + traceCap_(cap, msg, ##__VA_ARGS__); \ + } +#else +#define debugTraceCap(class, cap, str, ...) /* nothing */ +#endif + /* * Emit a message/event describing the state of a thread */ @@ -152,6 +162,7 @@ void traceThreadStatus_ (StgTSO *tso); #define traceCap(class, cap, msg, ...) /* nothing */ #define trace(class, msg, ...) /* nothing */ #define debugTrace(class, str, ...) /* nothing */ +#define debugTraceCap(class, cap, str, ...) /* nothing */ #define traceThreadStatus(class, tso) /* nothing */ #endif /* TRACING */ @@ -254,7 +265,7 @@ void dtraceUserMsgWrapper(Capability *cap, char *msg); INLINE_HEADER void traceEventCreateThread(Capability *cap STG_UNUSED, StgTSO *tso STG_UNUSED) { - traceSchedEvent(cap, EVENT_CREATE_THREAD, tso, tso->stack_size); + traceSchedEvent(cap, EVENT_CREATE_THREAD, tso, tso->stackobj->stack_size); dtraceCreateThread((EventCapNo)cap->no, (EventThreadID)tso->id); } @@ -387,6 +398,6 @@ INLINE_HEADER void traceEventGcDone(Capability *cap STG_UNUSED) dtraceGcDone((EventCapNo)cap->no); } -END_RTS_PRIVATE +#include "EndPrivate.h" #endif /* TRACE_H */