< prev index next >
src/hotspot/share/runtime/vm_operations.cpp
Print this page
*** 202,218 ****
Universe::heap()->prepare_for_verify();
Universe::verify();
}
bool VM_PrintThreads::doit_prologue() {
- // Make sure AbstractOwnableSynchronizer is loaded
- JavaThread* jt = JavaThread::current();
- java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(jt);
- if (jt->has_pending_exception()) {
- return false;
- }
-
// Get Heap_lock if concurrent locks will be dumped
if (_print_concurrent_locks) {
Heap_lock->lock();
}
return true;
--- 202,211 ----
*** 246,268 ****
delete d;
}
}
}
- bool VM_FindDeadlocks::doit_prologue() {
- if (_concurrent_locks) {
- // Make sure AbstractOwnableSynchronizer is loaded
- JavaThread* jt = JavaThread::current();
- java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(jt);
- if (jt->has_pending_exception()) {
- return false;
- }
- }
-
- return true;
- }
-
void VM_FindDeadlocks::doit() {
// Update the hazard ptr in the originating thread to the current
// list of threads. This VM operation needs the current list of
// threads for proper deadlock detection and those are the
// JavaThreads we need to be protected when we return info to the
--- 239,248 ----
*** 314,330 ****
_with_locked_monitors = with_locked_monitors;
_with_locked_synchronizers = with_locked_synchronizers;
}
bool VM_ThreadDump::doit_prologue() {
- // Make sure AbstractOwnableSynchronizer is loaded
- JavaThread* jt = JavaThread::current();
- java_util_concurrent_locks_AbstractOwnableSynchronizer::initialize(jt);
- if (jt->has_pending_exception()) {
- return false;
- }
-
if (_with_locked_synchronizers) {
// Acquire Heap_lock to dump concurrent locks
Heap_lock->lock();
}
--- 294,303 ----
< prev index next >