From ad86a92529ac094ee97b0f6892bac1fa674494c8 Mon Sep 17 00:00:00 2001 From: katkerem Date: Mon, 10 Nov 2025 18:33:56 +0000 Subject: [PATCH] 8369692: JFR: Don't record thread metadata in case jdk.ThreadStart is disabled --- src/hotspot/share/jfr/support/jfrThreadLocal.cpp | 4 ++-- test/jdk/jdk/jfr/jvm/TestWaste.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hotspot/share/jfr/support/jfrThreadLocal.cpp b/src/hotspot/share/jfr/support/jfrThreadLocal.cpp index 5fe5546e0a95f..bb8fedb2056fe 100644 --- a/src/hotspot/share/jfr/support/jfrThreadLocal.cpp +++ b/src/hotspot/share/jfr/support/jfrThreadLocal.cpp @@ -151,7 +151,7 @@ void JfrThreadLocal::on_start(Thread* t) { JfrCPUTimeThreadSampling::on_javathread_create(jt); } else { assert(jt->thread_state() == _thread_in_vm, "invariant"); - if (tl->should_write()) { + if (EventThreadStart::is_enabled() && tl->should_write()) { JfrCheckpointManager::write_checkpoint(t); } send_java_thread_start_event(jt); @@ -252,7 +252,7 @@ void JfrThreadLocal::on_exit(Thread* t) { } else { JavaThread* const jt = JavaThread::cast(t); assert(jt->thread_state() == _thread_in_vm, "invariant"); - if (tl->should_write()) { + if (EventThreadEnd::is_enabled() && tl->should_write()) { JfrCheckpointManager::write_checkpoint(t); } send_java_thread_end_event(jt, JfrThreadLocal::jvm_thread_id(jt)); diff --git a/test/jdk/jdk/jfr/jvm/TestWaste.java b/test/jdk/jdk/jfr/jvm/TestWaste.java index 4de14fc246119..17401afdf0232 100644 --- a/test/jdk/jdk/jfr/jvm/TestWaste.java +++ b/test/jdk/jdk/jfr/jvm/TestWaste.java @@ -69,7 +69,7 @@ public static void main(String... args) throws Exception { .withoutStackTrace(); // Unused threads should not create unreasonable amount of waste r.disable("jdk.ThreadStart"); - r.disable("jdk.ThreadStop"); + r.disable("jdk.ThreadEnd"); // jdk.GCPhaseParallel can often, but not always, take up a very // large part of the recording. Disable to make test more stable r.disable("jdk.GCPhaseParallel");