X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Feventlog%2FEventLog.h;h=0cfab5c0910f14cd67381994a9a1c0222a59e3a8;hb=784e214dd44eba39f4c34936a27e6cc82948205c;hp=03582563570371cbeb5689150ade9416f0174429;hpb=7d7c187b4a12f1bb350e85cdb0115e19537cc704;p=ghc-hetmet.git diff --git a/rts/eventlog/EventLog.h b/rts/eventlog/EventLog.h index 0358256..0cfab5c 100644 --- a/rts/eventlog/EventLog.h +++ b/rts/eventlog/EventLog.h @@ -12,9 +12,9 @@ #include "rts/EventLogFormat.h" #include "Capability.h" -#pragma GCC visibility push(hidden) +#include "BeginPrivate.h" -#ifdef EVENTLOG +#ifdef TRACING /* * Descriptions of EventTags for events. @@ -24,33 +24,51 @@ extern char *EventTagDesc[]; void initEventLogging(void); void endEventLogging(void); void freeEventLogging(void); - -void postEvent_(Capability *cap, EventTypeNum tag, StgThreadID id, StgWord64 other); +void abortEventLogging(void); // #4512 - after fork child needs to abort +void flushEventLog(void); // event log inherited from parent /* - * Post an event to the capability's event buffer. + * Post a scheduler event to the capability's event buffer (an event + * that has an associated thread). */ -INLINE_HEADER void postEvent(Capability *cap, EventTypeNum tag, StgThreadID id, StgWord64 other) -{ - if (RtsFlags.EventLogFlags.doEventLogging) { - postEvent_(cap, tag, id, other); - } -} +void postSchedEvent(Capability *cap, EventTypeNum tag, + StgThreadID id, StgWord info1, StgWord info2); + +/* + * Post a nullary event. + */ +void postEvent(Capability *cap, EventTypeNum tag); + +void postMsg(char *msg, va_list ap); + +void postUserMsg(Capability *cap, char *msg, va_list ap); + +void postCapMsg(Capability *cap, char *msg, va_list ap); + +#else /* !TRACING */ + +INLINE_HEADER void postSchedEvent (Capability *cap STG_UNUSED, + EventTypeNum tag STG_UNUSED, + StgThreadID id STG_UNUSED, + StgWord info1 STG_UNUSED, + StgWord info2 STG_UNUSED) +{ /* nothing */ } -void printAndClearEventLog(Capability *cap); +INLINE_HEADER void postEvent (Capability *cap STG_UNUSED, + EventTypeNum tag STG_UNUSED) +{ /* nothing */ } -#else /* !EVENTLOG */ +INLINE_HEADER void postMsg (char *msg STG_UNUSED, + va_list ap STG_UNUSED) +{ /* nothing */ } -INLINE_HEADER void postEvent(Capability *cap STG_UNUSED, - EventTypeNum tag STG_UNUSED, - StgThreadID id STG_UNUSED, - StgWord64 other STG_UNUSED) -{ - /* nothing */ -} +INLINE_HEADER void postCapMsg (Capability *cap STG_UNUSED, + char *msg STG_UNUSED, + va_list ap STG_UNUSED) +{ /* nothing */ } #endif -#pragma GCC visibility pop +#include "EndPrivate.h" -#endif /* EVENTLOG_H */ +#endif /* TRACING_H */