134 if (SafepointSynchronize::is_at_safepoint()) return; |
134 if (SafepointSynchronize::is_at_safepoint()) return; |
135 if (!Universe::is_fully_initialized()) return; |
135 if (!Universe::is_fully_initialized()) return; |
136 // see if invoker of VM operation owns it |
136 // see if invoker of VM operation owns it |
137 VM_Operation* op = VMThread::vm_operation(); |
137 VM_Operation* op = VMThread::vm_operation(); |
138 if (op != NULL && op->calling_thread() == lock->owner()) return; |
138 if (op != NULL && op->calling_thread() == lock->owner()) return; |
139 fatal1("must own lock %s", lock->name()); |
139 fatal(err_msg("must own lock %s", lock->name())); |
140 } |
140 } |
141 |
141 |
142 // a stronger assertion than the above |
142 // a stronger assertion than the above |
143 void assert_lock_strong(const Monitor * lock) { |
143 void assert_lock_strong(const Monitor * lock) { |
144 if (IgnoreLockingAssertions) return; |
144 if (IgnoreLockingAssertions) return; |
145 assert(lock != NULL, "Need non-NULL lock"); |
145 assert(lock != NULL, "Need non-NULL lock"); |
146 if (lock->owned_by_self()) return; |
146 if (lock->owned_by_self()) return; |
147 fatal1("must own lock %s", lock->name()); |
147 fatal(err_msg("must own lock %s", lock->name())); |
148 } |
148 } |
149 #endif |
149 #endif |
150 |
150 |
151 #define def(var, type, pri, vm_block) { \ |
151 #define def(var, type, pri, vm_block) { \ |
152 var = new type(Mutex::pri, #var, vm_block); \ |
152 var = new type(Mutex::pri, #var, vm_block); \ |