From f6eab1acf21186a4cbc8d4537d00293326dfa2a1 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Fri, 10 Aug 2018 09:58:20 -0700 Subject: 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(+) (limited to 'src/node_perf.cc') diff --git a/src/node_perf.cc b/src/node_perf.cc index 5a50223ed5..9c995d3b8d 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), -- cgit v1.2.3