Skip to content

Commit 9adc6a6

Browse files
GlenTikibnoordhuis
authored andcommitted
lttng: update flags for gc tracing
PR-URL: #3388 Reviewed-By: Ben Noordhuis <[email protected]>
1 parent adfd20b commit 9adc6a6

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

src/node_lttng_provider.h

+31-29
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,17 @@
77

88
namespace node {
99

10+
#define FOR_ALL_GC_TYPES(APPLY) \
11+
APPLY(kGCTypeScavenge) \
12+
APPLY(kGCTypeMarkSweepCompact) \
13+
APPLY(kGCTypeAll)
14+
15+
#define FOR_ALL_GC_CALLBACK_FLAGS(APPLY) \
16+
APPLY(kNoGCCallbackFlags) \
17+
APPLY(kGCCallbackFlagConstructRetainedObjectInfos) \
18+
APPLY(kGCCallbackFlagForced) \
19+
APPLY(kGCCallbackFlagSynchronousPhantomCallbackProcessing)
20+
1021
void NODE_HTTP_SERVER_REQUEST(node_lttng_http_server_request_t* req,
1122
node_lttng_connection_t* conn,
1223
const char *remote, int port,
@@ -48,42 +59,33 @@ void NODE_NET_STREAM_END(node_lttng_connection_t* conn,
4859
void NODE_GC_START(v8::GCType type,
4960
v8::GCCallbackFlags flags,
5061
v8::Isolate* isolate) {
51-
const char* typeStr = "";
52-
const char* flagsStr = "";
53-
if (type == v8::GCType::kGCTypeScavenge) {
54-
typeStr = "kGCTypeScavenge";
55-
} else if (type == v8::GCType::kGCTypeMarkSweepCompact) {
56-
typeStr = "kGCTypeMarkSweepCompact";
57-
} else if (type == v8::GCType::kGCTypeAll) {
58-
typeStr = "kGCTypeAll";
59-
}
60-
if (flags == v8::GCCallbackFlags::kNoGCCallbackFlags) {
61-
flagsStr = "kNoGCCallbackFlags";
62-
} else if (flags == v8::GCCallbackFlags::kGCCallbackFlagCompacted) {
63-
flagsStr = "kGCCallbackFlagCompacted";
64-
}
62+
const char* typeStr = "Unkown GC Type";
63+
const char* flagsStr = "Unknown GC Flag";
64+
65+
#define BUILD_IF(f) if (type == v8::GCType::f) { typeStr = #f; }
66+
FOR_ALL_GC_TYPES(BUILD_IF);
67+
#undef BUILD_IF
68+
69+
#define BUILD_IF(f) if (flags == v8::GCCallbackFlags::f) { flagsStr = #f; }
70+
FOR_ALL_GC_CALLBACK_FLAGS(BUILD_IF);
71+
#undef BUILD_IF
6572

6673
tracepoint(node, gc_start, typeStr, flagsStr);
6774
}
6875

69-
7076
void NODE_GC_DONE(v8::GCType type,
7177
v8::GCCallbackFlags flags,
7278
v8::Isolate* isolate) {
73-
const char* typeStr = "";
74-
const char* flagsStr = "";
75-
if (type == v8::GCType::kGCTypeScavenge) {
76-
typeStr = "kGCTypeScavenge";
77-
} else if (type == v8::GCType::kGCTypeMarkSweepCompact) {
78-
typeStr = "kGCTypeMarkSweepCompact";
79-
} else if (type == v8::GCType::kGCTypeAll) {
80-
typeStr = "kGCTypeAll";
81-
}
82-
if (flags == v8::GCCallbackFlags::kNoGCCallbackFlags) {
83-
flagsStr = "kNoGCCallbackFlags";
84-
} else if (flags == v8::GCCallbackFlags::kGCCallbackFlagCompacted) {
85-
flagsStr = "kGCCallbackFlagCompacted";
86-
}
79+
const char* typeStr = "Unkown GC Type";
80+
const char* flagsStr = "Unknown GC Flag";
81+
82+
#define BUILD_IF(f) if (type == v8::GCType::f) { typeStr = #f; }
83+
FOR_ALL_GC_TYPES(BUILD_IF);
84+
#undef BUILD_IF
85+
86+
#define BUILD_IF(f) if (flags == v8::GCCallbackFlags::f) { flagsStr = #f; }
87+
FOR_ALL_GC_CALLBACK_FLAGS(BUILD_IF);
88+
#undef BUILD_IF
8789

8890
tracepoint(node, gc_done, typeStr, flagsStr);
8991
}

0 commit comments

Comments
 (0)