diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2022-06-21 17:04:12 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-07-04 17:55:55 -0400 |
commit | aba482ea941bb0b06f041be950712ed71e047e81 (patch) | |
tree | 72ecb5bd029a37818f40cb7fd77851f8c59e3aa8 /rts | |
parent | 3b13aab14589823744495306bfb4c7bb522d22a5 (diff) | |
download | haskell-aba482ea941bb0b06f041be950712ed71e047e81.tar.gz |
Ticky:Make json info a separate field.
Fixes #21233
Diffstat (limited to 'rts')
-rw-r--r-- | rts/Ticky.c | 2 | ||||
-rw-r--r-- | rts/eventlog/EventLog.c | 4 | ||||
-rw-r--r-- | rts/include/rts/Ticky.h | 1 |
3 files changed, 5 insertions, 2 deletions
diff --git a/rts/Ticky.c b/rts/Ticky.c index f82cd27104..a216fcb00f 100644 --- a/rts/Ticky.c +++ b/rts/Ticky.c @@ -17,7 +17,7 @@ */ StgEntCounter top_ct = { 0, 0, 0, - "TOP", "", NULL, + "TOP", "", "",NULL, 0, 0, NULL }; /* Data structure used in ``registering'' one of these counters. */ diff --git a/rts/eventlog/EventLog.c b/rts/eventlog/EventLog.c index 0536ecdab6..bd65b6e642 100644 --- a/rts/eventlog/EventLog.c +++ b/rts/eventlog/EventLog.c @@ -1357,7 +1357,7 @@ void postProfBegin(void) #if defined(TICKY_TICKY) static void postTickyCounterDef(EventsBuf *eb, StgEntCounter *p) { - StgWord len = 8 + 2 + strlen(p->arg_kinds)+1 + strlen(p->str)+1 + 8; + StgWord len = 8 + 2 + strlen(p->arg_kinds)+1 + strlen(p->str)+1 + 8 + strlen(p->ticky_json)+1; ensureRoomForVariableEvent(eb, len); postEventHeader(eb, EVENT_TICKY_COUNTER_DEF); postPayloadSize(eb, len); @@ -1367,6 +1367,8 @@ static void postTickyCounterDef(EventsBuf *eb, StgEntCounter *p) postString(eb, p->arg_kinds); postString(eb, p->str); postWord64(eb, (W_) (INFO_PTR_TO_STRUCT(p->info))); + postString(eb, p->ticky_json); + } void postTickyCounterDefs(StgEntCounter *counters) diff --git a/rts/include/rts/Ticky.h b/rts/include/rts/Ticky.h index 7658e3c08a..4d58c8e63a 100644 --- a/rts/include/rts/Ticky.h +++ b/rts/include/rts/Ticky.h @@ -26,6 +26,7 @@ typedef struct _StgEntCounter { /* (rest of args are in registers) */ char *str; /* name of the thing */ char *arg_kinds; /* info about the args types */ + char *ticky_json; /* json_info for eventlog mostly describing the tick */ StgInfoTable *info; /* Info table corresponding to this closure */ StgInt entry_count; /* Trips to fast entry code */ StgInt allocs; /* number of allocations by this fun */ |