< prev index next >

src/hotspot/share/runtime/vmOperations.cpp

Print this page

586     // Need to check for an unattached thread as only attached threads
587     // can acquire the lock.
588     Thread* current = Thread::current_or_null();
589     if (current != nullptr && current != _shutdown_thread) {
590       // _vm_exited is set at safepoint, and the Threads_lock is never released
591       // so we will block here until the process dies.
592       Threads_lock->lock();
593       ShouldNotReachHere();
594     }
595   }
596 }
597 
598 void VM_PrintCompileQueue::doit() {
599   CompileBroker::print_compile_queues(_out);
600 }
601 
602 #if INCLUDE_SERVICES
603 void VM_PrintClassHierarchy::doit() {
604   KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
605 }




606 #endif

586     // Need to check for an unattached thread as only attached threads
587     // can acquire the lock.
588     Thread* current = Thread::current_or_null();
589     if (current != nullptr && current != _shutdown_thread) {
590       // _vm_exited is set at safepoint, and the Threads_lock is never released
591       // so we will block here until the process dies.
592       Threads_lock->lock();
593       ShouldNotReachHere();
594     }
595   }
596 }
597 
598 void VM_PrintCompileQueue::doit() {
599   CompileBroker::print_compile_queues(_out);
600 }
601 
602 #if INCLUDE_SERVICES
603 void VM_PrintClassHierarchy::doit() {
604   KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
605 }
606 
607 void VM_ClassPrintLayout::doit() {
608   ClassPrintLayout::class_print_layout(_out, _class_name);
609 }
610 #endif
< prev index next >