< prev index next >

src/share/vm/runtime/vm_operations.cpp

Print this page




 200   Universe::verify();
 201 }
 202 
 203 bool VM_PrintThreads::doit_prologue() {
 204   // Make sure AbstractOwnableSynchronizer is loaded
 205   JavaThread* jt = JavaThread::current();
 206   java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(jt);
 207   if (jt->has_pending_exception()) {
 208     return false;
 209   }
 210 
 211   // Get Heap_lock if concurrent locks will be dumped
 212   if (_print_concurrent_locks) {
 213     Heap_lock->lock();
 214   }
 215   return true;
 216 }
 217 
 218 void VM_PrintThreads::doit() {
 219   Threads::print_on(_out, true, false, _print_concurrent_locks);

 220 }
 221 
 222 void VM_PrintThreads::doit_epilogue() {
 223   if (_print_concurrent_locks) {
 224     // Release Heap_lock
 225     Heap_lock->unlock();
 226   }
 227 }
 228 
 229 void VM_PrintJNI::doit() {
 230   JNIHandles::print_on(_out);
 231 }
 232 
 233 VM_FindDeadlocks::~VM_FindDeadlocks() {
 234   if (_deadlocks != NULL) {
 235     DeadlockCycle* cycle = _deadlocks;
 236     while (cycle != NULL) {
 237       DeadlockCycle* d = cycle;
 238       cycle = cycle->next();
 239       delete d;




 200   Universe::verify();
 201 }
 202 
 203 bool VM_PrintThreads::doit_prologue() {
 204   // Make sure AbstractOwnableSynchronizer is loaded
 205   JavaThread* jt = JavaThread::current();
 206   java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(jt);
 207   if (jt->has_pending_exception()) {
 208     return false;
 209   }
 210 
 211   // Get Heap_lock if concurrent locks will be dumped
 212   if (_print_concurrent_locks) {
 213     Heap_lock->lock();
 214   }
 215   return true;
 216 }
 217 
 218 void VM_PrintThreads::doit() {
 219   Threads::print_on(_out, true, false, _print_concurrent_locks);
 220   MetaspaceAux::print_cld_metadata(_out);
 221 }
 222 
 223 void VM_PrintThreads::doit_epilogue() {
 224   if (_print_concurrent_locks) {
 225     // Release Heap_lock
 226     Heap_lock->unlock();
 227   }
 228 }
 229 
 230 void VM_PrintJNI::doit() {
 231   JNIHandles::print_on(_out);
 232 }
 233 
 234 VM_FindDeadlocks::~VM_FindDeadlocks() {
 235   if (_deadlocks != NULL) {
 236     DeadlockCycle* cycle = _deadlocks;
 237     while (cycle != NULL) {
 238       DeadlockCycle* d = cycle;
 239       cycle = cycle->next();
 240       delete d;


< prev index next >