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;
|