491
492
493 void VM_Exit::wait_if_vm_exited() {
494 if (_vm_exited &&
495 Thread::current_or_null() != _shutdown_thread) {
496 // _vm_exited is set at safepoint, and the Threads_lock is never released
497 // so we will block here until the process dies.
498 Threads_lock->lock();
499 ShouldNotReachHere();
500 }
501 }
502
503 void VM_PrintCompileQueue::doit() {
504 CompileBroker::print_compile_queues(_out);
505 }
506
507 #if INCLUDE_SERVICES
508 void VM_PrintClassHierarchy::doit() {
509 KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
510 }
511 #endif
|
491
492
493 void VM_Exit::wait_if_vm_exited() {
494 if (_vm_exited &&
495 Thread::current_or_null() != _shutdown_thread) {
496 // _vm_exited is set at safepoint, and the Threads_lock is never released
497 // so we will block here until the process dies.
498 Threads_lock->lock();
499 ShouldNotReachHere();
500 }
501 }
502
503 void VM_PrintCompileQueue::doit() {
504 CompileBroker::print_compile_queues(_out);
505 }
506
507 #if INCLUDE_SERVICES
508 void VM_PrintClassHierarchy::doit() {
509 KlassHierarchy::print_class_hierarchy(_out, _print_interfaces, _print_subclasses, _classname);
510 }
511
512 void VM_PrintClassLayout::doit() {
513 PrintClassLayout::print_class_layout(_out, _class_name);
514 }
515 #endif
|