src/hotspot/share/classfile/classLoaderDataGraph.cpp
changeset 52014 1aa9beac610e
parent 51959 db0c3952de52
child 52140 3a168f782e80
--- a/src/hotspot/share/classfile/classLoaderDataGraph.cpp	Thu Oct 04 14:03:13 2018 +0200
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.cpp	Thu Oct 04 16:39:07 2018 +0200
@@ -487,6 +487,21 @@
 }
 #endif // PRODUCT
 
+bool ClassLoaderDataGraph::is_valid(ClassLoaderData* loader_data) {
+  DEBUG_ONLY( if (!VMError::is_error_reported()) { assert_locked_or_safepoint(ClassLoaderDataGraph_lock); } )
+  if (loader_data != NULL) {
+    if (loader_data == ClassLoaderData::the_null_class_loader_data()) {
+      return true;
+    }
+    for (ClassLoaderData* data = _head; data != NULL; data = data->next()) {
+      if (loader_data == data) {
+        return true;
+      }
+    }
+  }
+  return false;
+}
+
 // Move class loader data from main list to the unloaded list for unloading
 // and deallocation later.
 bool ClassLoaderDataGraph::do_unloading(bool do_cleaning) {