< prev index next >

src/hotspot/share/runtime/vmOperations.cpp

Print this page

599     // Need to check for an unattached thread as only attached threads
600     // can acquire the lock.
601     Thread* current = Thread::current_or_null();
602     if (current != nullptr && current != _shutdown_thread) {
603       // _vm_exited is set at safepoint, and the Threads_lock is never released
604       // so we will block here until the process dies.
605       Threads_lock->lock();
606       ShouldNotReachHere();
607     }
608   }
609 }
610 
611 void VM_PrintCompileQueue::doit() {
612   CompileBroker::print_compile_queues(_out);
613 }
614 
615 #if INCLUDE_SERVICES
616 void VM_PrintClassHierarchy::doit() {
617   KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
618 }




619 #endif

599     // Need to check for an unattached thread as only attached threads
600     // can acquire the lock.
601     Thread* current = Thread::current_or_null();
602     if (current != nullptr && current != _shutdown_thread) {
603       // _vm_exited is set at safepoint, and the Threads_lock is never released
604       // so we will block here until the process dies.
605       Threads_lock->lock();
606       ShouldNotReachHere();
607     }
608   }
609 }
610 
611 void VM_PrintCompileQueue::doit() {
612   CompileBroker::print_compile_queues(_out);
613 }
614 
615 #if INCLUDE_SERVICES
616 void VM_PrintClassHierarchy::doit() {
617   KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
618 }
619 
620 void VM_PrintClassLayout::doit() {
621   PrintClassLayout::print_class_layout(_out, _class_name);
622 }
623 #endif
< prev index next >