< prev index next >

src/hotspot/share/classfile/classLoaderData.inline.hpp

Print this page

        

@@ -25,10 +25,11 @@
 #ifndef SHARE_VM_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
 #define SHARE_VM_CLASSFILE_CLASSLOADERDATA_INLINE_HPP
 
 #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"
 
 inline oop ClassLoaderData::class_loader() const {

@@ -90,6 +91,12 @@
 void ClassLoaderDataGraph::dec_array_classes(size_t count) {
   assert(count <= _num_array_classes, "Sanity");
   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
< prev index next >