< prev index next >

src/hotspot/share/runtime/vmOperations.cpp

Print this page

625     // Need to check for an unattached thread as only attached threads
626     // can acquire the lock.
627     Thread* current = Thread::current_or_null();
628     if (current != nullptr && current != _shutdown_thread) {
629       // _vm_exited is set at safepoint, and the Threads_lock is never released
630       // so we will block here until the process dies.
631       Threads_lock->lock();
632       ShouldNotReachHere();
633     }
634   }
635 }
636 
637 void VM_PrintCompileQueue::doit() {
638   CompileBroker::print_compile_queues(_out);
639 }
640 
641 #if INCLUDE_SERVICES
642 void VM_PrintClassHierarchy::doit() {
643   KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
644 }




645 #endif

625     // Need to check for an unattached thread as only attached threads
626     // can acquire the lock.
627     Thread* current = Thread::current_or_null();
628     if (current != nullptr && current != _shutdown_thread) {
629       // _vm_exited is set at safepoint, and the Threads_lock is never released
630       // so we will block here until the process dies.
631       Threads_lock->lock();
632       ShouldNotReachHere();
633     }
634   }
635 }
636 
637 void VM_PrintCompileQueue::doit() {
638   CompileBroker::print_compile_queues(_out);
639 }
640 
641 #if INCLUDE_SERVICES
642 void VM_PrintClassHierarchy::doit() {
643   KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
644 }
645 
646 void VM_PrintClassLayout::doit() {
647   PrintClassLayout::print_class_layout(_out, _class_name);
648 }
649 #endif
< prev index next >