src/share/vm/runtime/mutex.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/runtime/mutex.cpp

src/share/vm/runtime/mutex.cpp

Print this page
rev 5732 : [mq]: comments2

*** 505,515 **** assert (_OnDeck == ESelf, "invariant") ; _OnDeck = NULL ; // Note that we current drop the inner lock (clear OnDeck) in the slow-path ! // epilog immediately after having acquired the outer lock. // But instead we could consider the following optimizations: // A. Shift or defer dropping the inner lock until the subsequent IUnlock() operation. // This might avoid potential reacquisition of the inner lock in IUlock(). // B. While still holding the inner lock, attempt to opportunistically select // and unlink the next ONDECK thread from the EntryList. --- 505,515 ---- assert (_OnDeck == ESelf, "invariant") ; _OnDeck = NULL ; // Note that we current drop the inner lock (clear OnDeck) in the slow-path ! // epilogue immediately after having acquired the outer lock. // But instead we could consider the following optimizations: // A. Shift or defer dropping the inner lock until the subsequent IUnlock() operation. // This might avoid potential reacquisition of the inner lock in IUlock(). // B. While still holding the inner lock, attempt to opportunistically select // and unlink the next ONDECK thread from the EntryList.
*** 929,939 **** // Try a brief spin to avoid passing thru thread state transition ... if (TrySpin (Self)) goto Exeunt ; check_block_state(Self); if (Self->is_Java_thread()) { ! // Horribile dictu - we suffer through a state transition assert(rank() > Mutex::special, "Potential deadlock with special or lesser rank mutex"); ThreadBlockInVM tbivm ((JavaThread *) Self) ; ILock (Self) ; } else { // Mirabile dictu --- 929,939 ---- // Try a brief spin to avoid passing thru thread state transition ... if (TrySpin (Self)) goto Exeunt ; check_block_state(Self); if (Self->is_Java_thread()) { ! // Horrible dictu - we suffer through a state transition assert(rank() > Mutex::special, "Potential deadlock with special or lesser rank mutex"); ThreadBlockInVM tbivm ((JavaThread *) Self) ; ILock (Self) ; } else { // Mirabile dictu
*** 961,971 **** void Monitor::lock_without_safepoint_check () { lock_without_safepoint_check (Thread::current()) ; } ! // Returns true if thread succeceed [sic] in grabbing the lock, otherwise false. bool Monitor::try_lock() { Thread * const Self = Thread::current(); debug_only(check_prelock_state(Self)); // assert(!thread->is_inside_signal_handler(), "don't lock inside signal handler"); --- 961,971 ---- void Monitor::lock_without_safepoint_check () { lock_without_safepoint_check (Thread::current()) ; } ! // Returns true if thread succeeds in grabbing the lock, otherwise false. bool Monitor::try_lock() { Thread * const Self = Thread::current(); debug_only(check_prelock_state(Self)); // assert(!thread->is_inside_signal_handler(), "don't lock inside signal handler");
src/share/vm/runtime/mutex.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File