< prev index next >

src/hotspot/share/utilities/singleWriterSynchronizer.hpp

Print this page

        

*** 87,101 **** // RAII class for managing enter/exit pairs. class CriticalSection; }; inline uint SingleWriterSynchronizer::enter() { ! return Atomic::add(2u, &_enter); } inline void SingleWriterSynchronizer::exit(uint enter_value) { ! uint exit_value = Atomic::add(2u, &_exit[enter_value & 1]); // If this exit completes a synchronize request, wakeup possibly // waiting synchronizer. Read of _waiting_for must follow the _exit // update. if (exit_value == _waiting_for) { _wakeup.signal(); --- 87,101 ---- // RAII class for managing enter/exit pairs. class CriticalSection; }; inline uint SingleWriterSynchronizer::enter() { ! return Atomic::add(&_enter, 2u); } inline void SingleWriterSynchronizer::exit(uint enter_value) { ! uint exit_value = Atomic::add(&_exit[enter_value & 1], 2u); // If this exit completes a synchronize request, wakeup possibly // waiting synchronizer. Read of _waiting_for must follow the _exit // update. if (exit_value == _waiting_for) { _wakeup.signal();
< prev index next >