# HG changeset patch # User mgronlun # Date 1574676510 -3600 # Node ID 6a897a8ef4af9ffcd91b8082df54195b1a48f705 # Parent fb1d9bf1be2b43f522e494414e516610ce83ab88 8234433: TestUnloadEventClassCount fails with "assert(SafepointSynchronize::is_at_safepoint()) failed: invariant" Reviewed-by: pliden diff -r fb1d9bf1be2b -r 6a897a8ef4af src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp --- a/src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp Fri Nov 22 10:29:12 2019 +0100 +++ b/src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp Mon Nov 25 11:08:30 2019 +0100 @@ -33,12 +33,11 @@ #include "memory/resourceArea.hpp" #include "runtime/handles.inline.hpp" #include "runtime/mutexLocker.hpp" -#include "runtime/safepoint.hpp" #include "runtime/thread.inline.hpp" #include "utilities/growableArray.hpp" #include "utilities/stack.inline.hpp" - // incremented during class unloading (safepoint) for each unloaded event class + // incremented during class unloading for each unloaded event class static jlong unloaded_event_classes = 0; jlong JfrEventClasses::unloaded_event_classes_count() { @@ -46,8 +45,7 @@ } void JfrEventClasses::increment_unloaded_event_class() { - // incremented during class unloading (safepoint) for each unloaded event class - assert(SafepointSynchronize::is_at_safepoint(), "invariant"); + assert_locked_or_safepoint(ClassLoaderDataGraph_lock); ++unloaded_event_classes; }