8152185: ReferencePendingListLocker incorrectly assumes that the lock is never taken recursively

Reviewed-by: stefank, sjohanss
This commit is contained in:
Per Lidén 2016-03-18 15:54:04 +01:00
parent 77de5508e9
commit 1402ff0f5d

View file

@ -176,8 +176,6 @@ void ReferencePendingListLocker::lock() {
HandleMark hm; HandleMark hm;
Handle handle(THREAD, java_lang_ref_Reference::pending_list_lock()); Handle handle(THREAD, java_lang_ref_Reference::pending_list_lock());
assert(!is_locked_by_self(), "Should not be locked by self");
// Lock // Lock
ObjectSynchronizer::fast_enter(handle, &_basic_lock, false, THREAD); ObjectSynchronizer::fast_enter(handle, &_basic_lock, false, THREAD);
@ -213,8 +211,6 @@ void ReferencePendingListLocker::unlock() {
// Unlock // Unlock
ObjectSynchronizer::fast_exit(handle(), &_basic_lock, THREAD); ObjectSynchronizer::fast_exit(handle(), &_basic_lock, THREAD);
assert(!is_locked_by_self(), "Unlocking failed");
if (HAS_PENDING_EXCEPTION) { if (HAS_PENDING_EXCEPTION) {
CLEAR_PENDING_EXCEPTION; CLEAR_PENDING_EXCEPTION;
} }