hotspot/src/share/vm/oops/instanceRefKlass.cpp
void instanceRefKlass::acquire_pending_list_lock(BasicLock *pending_list_basic_lock) {
{- -------------------------------------------
(1) (変数宣言など) (See: PreserveExceptionMark)
---------------------------------------- -}
// we may enter this with pending exception set
PRESERVE_EXCEPTION_MARK; // exceptions are never thrown, needed for TRAPS argument
{- -------------------------------------------
(1) java_lang_ref_Reference::pending_list_lock() に対して
ObjectSynchronizer::fast_enter() でロックを取得する.
---------------------------------------- -}
Handle h_lock(THREAD, java_lang_ref_Reference::pending_list_lock());
ObjectSynchronizer::fast_enter(h_lock, pending_list_basic_lock, false, THREAD);
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
assert(ObjectSynchronizer::current_thread_holds_lock(
JavaThread::current(), h_lock),
"Locking should have succeeded");
{- -------------------------------------------
(1)
---------------------------------------- -}
if (HAS_PENDING_EXCEPTION) CLEAR_PENDING_EXCEPTION;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.