< prev index next >

src/hotspot/share/runtime/vmOperations.cpp

Print this page

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




622 #endif

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