Concurrent class unloading
void Klass::clean_weak_klass_links(bool unloading_occurred, bool clean_alive_klasses) {
if (!ClassUnloading || !unloading_occurred) {
return;
}
+ MutexLockerEx ml(UseZGC ? Compile_lock : NULL);
Klass* root = SystemDictionary::Object_klass();
Stack<Klass*, mtGC> stack;
stack.push(root);
while (!stack.is_empty()) {