--- old/src/hotspot/share/classfile/classLoaderData.inline.hpp 2018-08-06 14:13:59.558702078 -0400 +++ new/src/hotspot/share/classfile/classLoaderData.inline.hpp 2018-08-06 14:13:59.326702086 -0400 @@ -27,6 +27,7 @@ #include "classfile/classLoaderData.hpp" #include "classfile/javaClasses.hpp" +#include "oops/instanceKlass.hpp" #include "oops/oop.inline.hpp" #include "oops/oopHandle.inline.hpp" #include "oops/weakHandle.inline.hpp" @@ -92,4 +93,10 @@ Atomic::sub(count, &_num_array_classes); } +bool ClassLoaderDataGraph::should_clean_metaspaces() { + bool do_cleaning = _safepoint_cleanup_needed; + _safepoint_cleanup_needed = false; // reset + return (do_cleaning && _should_clean_deallocate_lists) || InstanceKlass::has_previous_versions(); +} + #endif // SHARE_VM_CLASSFILE_CLASSLOADERDATA_INLINE_HPP