< prev index next >

src/share/vm/gc/g1/ptrQueue.cpp

Print this page
rev 12906 : [mq]: gc_interface

*** 70,89 **** assert(_index <= _sz, "Invariant."); } void PtrQueue::locking_enqueue_completed_buffer(BufferNode* node) { assert(_lock->owned_by_self(), "Required."); - - // We have to unlock _lock (which may be Shared_DirtyCardQ_lock) before - // we acquire DirtyCardQ_CBL_mon inside enqueue_complete_buffer as they - // have the same rank and we may get the "possible deadlock" message - _lock->unlock(); - qset()->enqueue_complete_buffer(node); - // We must relock only because the caller will unlock, for the normal - // case. - _lock->lock_without_safepoint_check(); } BufferNode* BufferNode::allocate(size_t byte_size) { assert(byte_size > 0, "precondition"); --- 70,80 ----
< prev index next >