diff -r 5eb48e9d607a -r 625a5bdde0c5 src/hotspot/share/memory/metaspaceShared.cpp --- a/src/hotspot/share/memory/metaspaceShared.cpp Fri Aug 31 12:41:00 2018 +0200 +++ b/src/hotspot/share/memory/metaspaceShared.cpp Fri Aug 31 07:03:46 2018 -0400 @@ -1619,7 +1619,7 @@ LinkSharedClassesClosure link_closure(THREAD); do { link_closure.reset(); - ClassLoaderDataGraph::loaded_classes_do(&link_closure); + ClassLoaderDataGraph::unlocked_loaded_classes_do(&link_closure); guarantee(!HAS_PENDING_EXCEPTION, "exception in link_class"); } while (link_closure.made_progress()); @@ -1631,7 +1631,7 @@ // we should come here only if there are unverifiable classes, which // shouldn't happen in normal cases. So better safe than sorry. check_closure.reset(); - ClassLoaderDataGraph::loaded_classes_do(&check_closure); + ClassLoaderDataGraph::unlocked_loaded_classes_do(&check_closure); } while (check_closure.made_progress()); if (IgnoreUnverifiableClassesDuringDump) {