610
611
612 void VM_Exit::wait_if_vm_exited() {
613 if (_vm_exited &&
614 Thread::current_or_null() != _shutdown_thread) {
615 // _vm_exited is set at safepoint, and the Threads_lock is never released
616 // so we will block here until the process dies.
617 Threads_lock->lock();
618 ShouldNotReachHere();
619 }
620 }
621
622 void VM_PrintCompileQueue::doit() {
623 CompileBroker::print_compile_queues(_out);
624 }
625
626 #if INCLUDE_SERVICES
627 void VM_PrintClassHierarchy::doit() {
628 KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
629 }
630 #endif
|
610
611
612 void VM_Exit::wait_if_vm_exited() {
613 if (_vm_exited &&
614 Thread::current_or_null() != _shutdown_thread) {
615 // _vm_exited is set at safepoint, and the Threads_lock is never released
616 // so we will block here until the process dies.
617 Threads_lock->lock();
618 ShouldNotReachHere();
619 }
620 }
621
622 void VM_PrintCompileQueue::doit() {
623 CompileBroker::print_compile_queues(_out);
624 }
625
626 #if INCLUDE_SERVICES
627 void VM_PrintClassHierarchy::doit() {
628 KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
629 }
630
631 void VM_PrintClassLayout::doit() {
632 PrintClassLayout::print_class_layout(_out, _class_name);
633 }
634 #endif
|