< prev index next > src/hotspot/share/runtime/mutexLocker.cpp
concurrent root iterator v3
VM_Operation* op = VMThread::vm_operation();
if (op != NULL && op->calling_thread() == lock->owner()) return;
fatal("must own lock %s", lock->name());
}
+// a weaker assertion than the above
+void assert_locked_or_safepoint_weak(const Monitor * lock) {
+ if (IgnoreLockingAssertions) return;
+ assert(lock != NULL, "Need non-NULL lock");
+ if (lock->is_locked()) return;
+ if (SafepointSynchronize::is_at_safepoint()) return;
+ if (!Universe::is_fully_initialized()) return;
+ fatal("must own lock %s", lock->name());
+}
+
// a stronger assertion than the above
void assert_lock_strong(const Monitor * lock) {
if (IgnoreLockingAssertions) return;
assert(lock != NULL, "Need non-NULL lock");
if (lock->owned_by_self()) return;
< prev index next >