From 9e410328bd706c8c7730ed6ef80c0c866c8241b8 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Fri, 10 Aug 2018 09:58:20 -0700 Subject: [PATCH] perf_hooks: avoid memory leak on gc observer Fixes: https://github.com/nodejs/node/issues/22229 PR-URL: https://github.com/nodejs/node/pull/22241 Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Yang Guo Reviewed-By: George Adams --- src/node_perf.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/node_perf.cc b/src/node_perf.cc index a1ca57e2d5c100..5d94bb4c8a4a56 100644 --- a/src/node_perf.cc +++ b/src/node_perf.cc @@ -272,6 +272,9 @@ void MarkGarbageCollectionEnd(Isolate* isolate, v8::GCCallbackFlags flags, void* data) { Environment* env = static_cast(data); + // If no one is listening to gc performance entries, do not create them. + if (!env->performance_state()->observers[NODE_PERFORMANCE_ENTRY_TYPE_GC]) + return; GCPerformanceEntry* entry = new GCPerformanceEntry(env, static_cast(type),