diff -r 5a83b7215107 -r 41515291559a src/share/vm/classfile/classLoaderData.cpp --- a/src/share/vm/classfile/classLoaderData.cpp Wed Dec 12 18:35:26 2018 +0100 +++ b/src/share/vm/classfile/classLoaderData.cpp Tue Aug 28 10:10:11 2018 -0400 @@ -64,11 +64,6 @@ #include "utilities/growableArray.hpp" #include "utilities/macros.hpp" #include "utilities/ostream.hpp" -#include "utilities/ticks.hpp" -#if INCLUDE_JFR -#include "jfr/jfr.hpp" -#include "jfr/jfrEvents.hpp" -#endif ClassLoaderData * ClassLoaderData::_the_null_class_loader_data = NULL; @@ -753,29 +748,6 @@ } #endif // PRODUCT -#if INCLUDE_JFR -static Ticks class_unload_time; -static void post_class_unload_event(Klass* const k) { - assert(k != NULL, "invariant"); - EventClassUnload event(UNTIMED); - event.set_endtime(class_unload_time); - event.set_unloadedClass(k); - event.set_definingClassLoader(k->class_loader_data()); - event.commit(); -} - -static void post_class_unload_events() { - assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint!"); - if (Jfr::is_enabled()) { - if (EventClassUnload::is_enabled()) { - class_unload_time = Ticks::now(); - ClassLoaderDataGraph::classes_unloading_do(&post_class_unload_event); - } - Jfr::on_unloading_classes(); - } -} -#endif // INCLUDE_JFR - // Move class loader data from main list to the unloaded list for unloading // and deallocation later. bool ClassLoaderDataGraph::do_unloading(BoolObjectClosure* is_alive_closure, bool clean_alive) { @@ -815,10 +787,6 @@ ClassLoaderDataGraph::clean_metaspaces(); } - if (seen_dead_loader) { - JFR_ONLY(post_class_unload_events();) - } - return seen_dead_loader; }