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");