src/share/vm/runtime/vm_operations.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/runtime

src/share/vm/runtime/vm_operations.cpp

Print this page
rev 7315 : 8063112: Compiler diagnostic commands should have locking instead of safepoint
Summary: Removed dcmd safepoint requirement and fixed asserts and locking
Reviewed-by:


 462     vm_direct_exit(_exit_code);
 463   }
 464 }
 465 
 466 
 467 void VM_Exit::wait_if_vm_exited() {
 468   if (_vm_exited &&
 469       ThreadLocalStorage::get_thread_slow() != _shutdown_thread) {
 470     // _vm_exited is set at safepoint, and the Threads_lock is never released
 471     // we will block here until the process dies
 472     Threads_lock->lock_without_safepoint_check();
 473     ShouldNotReachHere();
 474   }
 475 }
 476 
 477 void VM_PrintCompileQueue::doit() {
 478   CompileBroker::print_compile_queues(_out);
 479 }
 480 
 481 void VM_PrintCodeList::doit() {

 482   CodeCache::print_codelist(_out);
 483 }
 484 
 485 void VM_PrintCodeCache::doit() {

 486   CodeCache::print_layout(_out);
 487 }


 462     vm_direct_exit(_exit_code);
 463   }
 464 }
 465 
 466 
 467 void VM_Exit::wait_if_vm_exited() {
 468   if (_vm_exited &&
 469       ThreadLocalStorage::get_thread_slow() != _shutdown_thread) {
 470     // _vm_exited is set at safepoint, and the Threads_lock is never released
 471     // we will block here until the process dies
 472     Threads_lock->lock_without_safepoint_check();
 473     ShouldNotReachHere();
 474   }
 475 }
 476 
 477 void VM_PrintCompileQueue::doit() {
 478   CompileBroker::print_compile_queues(_out);
 479 }
 480 
 481 void VM_PrintCodeList::doit() {
 482   MutexLockerEx locker(CodeCache_lock, Mutex::_no_safepoint_check_flag);
 483   CodeCache::print_codelist(_out);
 484 }
 485 
 486 void VM_PrintCodeCache::doit() {
 487   MutexLockerEx locker(CodeCache_lock, Mutex::_no_safepoint_check_flag);
 488   CodeCache::print_layout(_out);
 489 }
src/share/vm/runtime/vm_operations.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File