diff options
Diffstat (limited to 'rts/Trace.c')
-rw-r--r-- | rts/Trace.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/rts/Trace.c b/rts/Trace.c index 9fa8eb177b..a946f2c5d3 100644 --- a/rts/Trace.c +++ b/rts/Trace.c @@ -574,6 +574,52 @@ void traceSparkCounters_ (Capability *cap, } } +void traceTaskCreate_ (Task *task, + Capability *cap) +{ +#ifdef DEBUG + if (RtsFlags.TraceFlags.tracing == TRACE_STDERR) { + /* We currently don't do debug tracing of tasks but we must + test for TRACE_STDERR because of the !eventlog_enabled case. */ + } else +#endif + { + EventTaskId taskid = serialisableTaskId(task); + EventKernelThreadId tid = kernelThreadId(); + postTaskCreateEvent(taskid, cap->no, tid); + } +} + +void traceTaskMigrate_ (Task *task, + Capability *cap, + Capability *new_cap) +{ +#ifdef DEBUG + if (RtsFlags.TraceFlags.tracing == TRACE_STDERR) { + /* We currently don't do debug tracing of tasks but we must + test for TRACE_STDERR because of the !eventlog_enabled case. */ + } else +#endif + { + EventTaskId taskid = serialisableTaskId(task); + postTaskMigrateEvent(taskid, cap->no, new_cap->no); + } +} + +void traceTaskDelete_ (Task *task) +{ +#ifdef DEBUG + if (RtsFlags.TraceFlags.tracing == TRACE_STDERR) { + /* We currently don't do debug tracing of tasks but we must + test for TRACE_STDERR because of the !eventlog_enabled case. */ + } else +#endif + { + EventTaskId taskid = serialisableTaskId(task); + postTaskDeleteEvent(taskid); + } +} + #ifdef DEBUG static void traceCap_stderr(Capability *cap, char *msg, va_list ap) { |