From eb1a1139bb360797cac821a8130fb348849d8522 Mon Sep 17 00:00:00 2001 From: mgronlun Date: Sat, 17 Feb 2024 15:19:46 +0100 Subject: [PATCH 1/3] fix for JFR sampler by adding all unloading classes --- src/hotspot/share/jfr/support/jfrKlassUnloading.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp b/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp index 46d9cea90e90c..7a14ab4069ef0 100644 --- a/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp +++ b/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp @@ -101,13 +101,12 @@ void JfrKlassUnloading::clear() { } } -static bool add_to_unloaded_klass_set(traceid klass_id, bool current_epoch) { +static void add_to_unloaded_klass_set(traceid klass_id, bool current_epoch) { assert_locked_or_safepoint(ClassLoaderDataGraph_lock); GrowableArray* const unload_set = current_epoch ? get_unload_set() : get_unload_set_previous_epoch(); assert(unload_set != nullptr, "invariant"); assert(unload_set->find(klass_id) == -1, "invariant"); unload_set->append(klass_id); - return true; } #if INCLUDE_MANAGEMENT @@ -129,7 +128,8 @@ bool JfrKlassUnloading::on_unload(const Klass* k) { if (IS_JDK_JFR_EVENT_SUBKLASS(k)) { ++event_klass_unloaded_count; } - return USED_ANY_EPOCH(k) && add_to_unloaded_klass_set(JfrTraceId::load_raw(k), USED_THIS_EPOCH(k)); + add_to_unloaded_klass_set(JfrTraceId::load_raw(k), true); + return USED_THIS_EPOCH(k); } bool JfrKlassUnloading::is_unloaded(traceid klass_id, bool previous_epoch /* false */) { From 5ef19364cfb2f74048c6513602459d8321196f24 Mon Sep 17 00:00:00 2001 From: mgronlun Date: Tue, 20 Feb 2024 19:54:36 +0100 Subject: [PATCH 2/3] 8326334 --- src/hotspot/share/jfr/support/jfrKlassUnloading.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp b/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp index 7a14ab4069ef0..237a457a36b3b 100644 --- a/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp +++ b/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -101,9 +101,9 @@ void JfrKlassUnloading::clear() { } } -static void add_to_unloaded_klass_set(traceid klass_id, bool current_epoch) { +static void add_to_unloaded_klass_set(traceid klass_id) { assert_locked_or_safepoint(ClassLoaderDataGraph_lock); - GrowableArray* const unload_set = current_epoch ? get_unload_set() : get_unload_set_previous_epoch(); + GrowableArray* const unload_set = get_unload_set(); assert(unload_set != nullptr, "invariant"); assert(unload_set->find(klass_id) == -1, "invariant"); unload_set->append(klass_id); @@ -128,7 +128,7 @@ bool JfrKlassUnloading::on_unload(const Klass* k) { if (IS_JDK_JFR_EVENT_SUBKLASS(k)) { ++event_klass_unloaded_count; } - add_to_unloaded_klass_set(JfrTraceId::load_raw(k), true); + add_to_unloaded_klass_set(JfrTraceId::load_raw(k)); return USED_THIS_EPOCH(k); } From 3993ae8ceff0e5fe828426600a4274766fa67732 Mon Sep 17 00:00:00 2001 From: mgronlun Date: Tue, 20 Feb 2024 19:58:51 +0100 Subject: [PATCH 3/3] space --- src/hotspot/share/jfr/support/jfrKlassUnloading.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp b/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp index 237a457a36b3b..e0f26a800ba52 100644 --- a/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp +++ b/src/hotspot/share/jfr/support/jfrKlassUnloading.cpp @@ -103,7 +103,7 @@ void JfrKlassUnloading::clear() { static void add_to_unloaded_klass_set(traceid klass_id) { assert_locked_or_safepoint(ClassLoaderDataGraph_lock); - GrowableArray* const unload_set = get_unload_set(); + GrowableArray* const unload_set = get_unload_set(); assert(unload_set != nullptr, "invariant"); assert(unload_set->find(klass_id) == -1, "invariant"); unload_set->append(klass_id);