--- old/src/hotspot/share/classfile/classLoaderDataGraph.cpp 2018-11-15 17:16:14.151877182 -0500 +++ new/src/hotspot/share/classfile/classLoaderDataGraph.cpp 2018-11-15 17:16:13.859877192 -0500 @@ -242,7 +242,7 @@ // These are functions called by the GC, which require all of the CLDs, including the // unloading ones. -void ClassLoaderDataGraph::cld_oops_do(CLDClosure* cl) { +void ClassLoaderDataGraph::cld_do(CLDClosure* cl) { assert_locked_or_safepoint_weak(ClassLoaderDataGraph_lock); for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->_next) { cl->do_cld(cld); @@ -259,12 +259,12 @@ } } -void ClassLoaderDataGraph::always_strong_cld_oops_do(CLDClosure* cl) { +void ClassLoaderDataGraph::always_strong_cld_do(CLDClosure* cl) { assert_locked_or_safepoint_weak(ClassLoaderDataGraph_lock); if (ClassUnloading) { roots_cld_do(cl, NULL); } else { - cld_oops_do(cl); + cld_do(cl); } } @@ -315,24 +315,13 @@ } }; -void ClassLoaderDataGraph::cld_do(CLDClosure* cl) { +void ClassLoaderDataGraph::loaded_cld_do(CLDClosure* cl) { ClassLoaderDataGraphIterator iter; while (ClassLoaderData* cld = iter.get_next()) { cl->do_cld(cld); } } -void ClassLoaderDataGraph::always_strong_cld_do(CLDClosure* cl) { - assert_locked_or_safepoint(ClassLoaderDataGraph_lock); - if (ClassUnloading) { - // The keep_alive bits are only so GC doesn't unload the classes prematurely, - // not for tools to find. - cl->do_cld(ClassLoaderData::the_null_class_loader_data()); - } else { - cld_do(cl); - } -} - // These functions assume that the caller has locked the ClassLoaderDataGraph_lock // if they are not calling the function from a safepoint. void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {