< prev index next >

src/hotspot/share/prims/jvmtiRawMonitor.cpp

Print this page
rev 47408 : [mq]: no_cmpxchg_if_null
rev 47406 : [mq]: assembler_cmpxchg
rev 47401 : [mq]: cmpxchg_if_null
rev 47400 : [mq]: cmpxchg_ptr
rev 47216 : 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse

*** 125,135 **** // // ------------------------------------------------------------------------- int JvmtiRawMonitor::SimpleEnter (Thread * Self) { for (;;) { ! if (Atomic::cmpxchg_if_null((void*)Self, &_owner)) { return OS_OK ; } ObjectWaiter Node (Self) ; Self->_ParkEvent->reset() ; // strictly optional --- 125,135 ---- // // ------------------------------------------------------------------------- int JvmtiRawMonitor::SimpleEnter (Thread * Self) { for (;;) { ! if (Atomic::cmpxchg((void*)Self, &_owner, (void*)NULL) == NULL) { return OS_OK ; } ObjectWaiter Node (Self) ; Self->_ParkEvent->reset() ; // strictly optional
*** 137,147 **** RawMonitor_lock->lock_without_safepoint_check() ; Node._next = _EntryList ; _EntryList = &Node ; OrderAccess::fence() ; ! if (_owner == NULL && Atomic::cmpxchg_if_null((void*)Self, &_owner)) { _EntryList = Node._next ; RawMonitor_lock->unlock() ; return OS_OK ; } RawMonitor_lock->unlock() ; --- 137,147 ---- RawMonitor_lock->lock_without_safepoint_check() ; Node._next = _EntryList ; _EntryList = &Node ; OrderAccess::fence() ; ! if (_owner == NULL && Atomic::cmpxchg((void*)Self, &_owner, (void*)NULL) == NULL) { _EntryList = Node._next ; RawMonitor_lock->unlock() ; return OS_OK ; } RawMonitor_lock->unlock() ;
< prev index next >