Commit 13572480 authored by Ben Gamari's avatar Ben Gamari 🐢 Committed by Marge Bot

rts: Separate population of eventTypes from initial event generation

Previously these two orthogonal concerns were both implemented in
postHeaderEvents which made it difficult to send header events after RTS
initialization.
parent 10452959
Pipeline #6761 passed with stages
in 443 minutes and 3 seconds
......@@ -267,15 +267,9 @@ flushEventLog(void)
}
static void
postHeaderEvents(void)
init_event_types(void)
{
// Write in buffer: the header begin marker.
postInt32(&eventBuf, EVENT_HEADER_BEGIN);
// Mark beginning of event types in the header.
postInt32(&eventBuf, EVENT_HET_BEGIN);
for (int t = 0; t < NUM_GHC_EVENT_TAGS; ++t) {
eventTypes[t].etNum = t;
eventTypes[t].desc = EventDesc[t];
......@@ -450,9 +444,22 @@ postHeaderEvents(void)
default:
continue; /* ignore deprecated events */
}
}
}
static void
postHeaderEvents(void)
{
// Write in buffer: the header begin marker.
postInt32(&eventBuf, EVENT_HEADER_BEGIN);
// Mark beginning of event types in the header.
postInt32(&eventBuf, EVENT_HET_BEGIN);
for (int t = 0; t < NUM_GHC_EVENT_TAGS; ++t) {
// Write in buffer: the start event type.
postEventType(&eventBuf, &eventTypes[t]);
if (eventTypes[t].desc)
postEventType(&eventBuf, &eventTypes[t]);
}
// Mark end of event types in the header.
......@@ -470,6 +477,8 @@ initEventLogging(const EventLogWriter *ev_writer)
{
uint32_t n_caps;
init_event_types();
event_log_writer = ev_writer;
initEventLogWriter();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment