< prev index next >

src/hotspot/share/runtime/vm_operations.cpp

Print this page
rev 50303 : Thread Dump Extension (memory allocation)


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






 222   Threads::print_on(_out, true, false, _print_concurrent_locks);




 223 }
 224 
 225 void VM_PrintThreads::doit_epilogue() {
 226   if (_print_concurrent_locks) {
 227     // Release Heap_lock
 228     Heap_lock->unlock();
 229   }
 230 }
 231 
 232 void VM_PrintJNI::doit() {
 233   JNIHandles::print_on(_out);
 234 }
 235 
 236 void VM_PrintMetadata::doit() {
 237   MetaspaceUtils::print_report(_out, _scale, _flags);
 238 }
 239 
 240 VM_FindDeadlocks::~VM_FindDeadlocks() {
 241   if (_deadlocks != NULL) {
 242     DeadlockCycle* cycle = _deadlocks;




 202   Universe::heap()->prepare_for_verify();
 203   Universe::verify();
 204 }
 205 
 206 bool VM_PrintThreads::doit_prologue() {
 207   // Make sure AbstractOwnableSynchronizer is loaded
 208   JavaThread* jt = JavaThread::current();
 209   java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(jt);
 210   if (jt->has_pending_exception()) {
 211     return false;
 212   }
 213 
 214   // Get Heap_lock if concurrent locks will be dumped
 215   if (_print_concurrent_locks) {
 216     Heap_lock->lock();
 217   }
 218   return true;
 219 }
 220 
 221 void VM_PrintThreads::doit() {
 222   bool need_reset = false;
 223   if (_extended_thread_info && FLAG_IS_DEFAULT(PrintExtendedThreadInfo) && !PrintExtendedThreadInfo) {
 224     need_reset = true;
 225     FLAG_SET_DEFAULT(PrintExtendedThreadInfo, true);
 226   }
 227 
 228   Threads::print_on(_out, true, false, _print_concurrent_locks);
 229 
 230   if (need_reset) {
 231     FLAG_SET_DEFAULT(PrintExtendedThreadInfo, false);
 232   }
 233 }
 234 
 235 void VM_PrintThreads::doit_epilogue() {
 236   if (_print_concurrent_locks) {
 237     // Release Heap_lock
 238     Heap_lock->unlock();
 239   }
 240 }
 241 
 242 void VM_PrintJNI::doit() {
 243   JNIHandles::print_on(_out);
 244 }
 245 
 246 void VM_PrintMetadata::doit() {
 247   MetaspaceUtils::print_report(_out, _scale, _flags);
 248 }
 249 
 250 VM_FindDeadlocks::~VM_FindDeadlocks() {
 251   if (_deadlocks != NULL) {
 252     DeadlockCycle* cycle = _deadlocks;


< prev index next >