Lines Matching refs:load
60 static T* load( std::atomic<word>& location, std::memory_order memory_order ) { in load() function in tbb::detail::r1::tricky_atomic_pointer
61 return reinterpret_cast<T*>(location.load(memory_order)); in load()
194 … __TBB_ASSERT( !s.my_prev.load(std::memory_order_relaxed), "the predecessor is already set" ); in acquire()
202 pred_state = predecessor->my_state.load(std::memory_order_relaxed); in acquire()
210 (void)predecessor->my_state.load(std::memory_order_acquire); in acquire()
215 …__TBB_ASSERT( !predecessor->my_next.load(std::memory_order_relaxed), "the predecessor has another … in acquire()
240 …__TBB_ASSERT( s.my_state.load(std::memory_order_relaxed)==STATE_READER_UNBLOCKNEXT, "unexpected st… in acquire()
245 …tricky_pointer::load(s.my_next, std::memory_order_relaxed)->my_going.store(1U, std::memory_order_r… in acquire()
247 …__TBB_ASSERT(s.my_state.load(std::memory_order_relaxed) == STATE_ACTIVEREADER, "unlocked reader is… in acquire()
258 if( m.q_tail.load(std::memory_order_relaxed) ) in try_acquire()
286 if( s.my_state.load(std::memory_order_relaxed) == STATE_WRITER ) { // Acquired for write in release()
292 …d1::queuing_rw_mutex::scoped_lock* next = tricky_pointer::load(s.my_next, std::memory_order_acquir… in release()
303 next = tricky_pointer::load(s.my_next, std::memory_order_acquire); in release()
314 if( next->my_state.load(std::memory_order_acquire)==STATE_UPGRADE_WAITING ) { in release()
327 …__TBB_ASSERT( next->my_state.load(std::memory_order_relaxed) & (STATE_COMBINED_WAITINGREADER | STA… in release()
328 …__TBB_ASSERT( !( next->my_prev.load(std::memory_order_relaxed) & FLAG ), "use of corrupted pointer… in release()
352 …__TBB_ASSERT(tricky_pointer::load(s.my_prev, std::memory_order_relaxed) != (tricky_pointer(predece… in release()
361 …__TBB_ASSERT(predecessor && predecessor->my_internal_lock.load(std::memory_order_relaxed)==ACQUIRE… in release()
368 …if( !tricky_pointer::load(s.my_next, std::memory_order_acquire) && !s.my_mutex->q_tail.compare_exc… in release()
371 … __TBB_ASSERT( !(s.my_next.load(std::memory_order_relaxed) & FLAG), "use of corrupted pointer" ); in release()
374 …if(d1::queuing_rw_mutex::scoped_lock *const l_next = tricky_pointer::load(s.my_next, std::memory_o… in release()
378 … __TBB_ASSERT(tricky_pointer::load(s.my_prev, std::memory_order_relaxed)==predecessor, nullptr); in release()
379 … predecessor->my_next.store(s.my_next.load(std::memory_order_relaxed), std::memory_order_release); in release()
386 …d1::queuing_rw_mutex::scoped_lock* next = tricky_pointer::load(s.my_next, std::memory_order_acquir… in release()
394 next = tricky_pointer::load(s.my_next, std::memory_order_acquire); in release()
415 …if ( s.my_state.load(std::memory_order_relaxed) == STATE_ACTIVEREADER ) return true; // Already a … in downgrade_to_reader()
418 …d1::queuing_rw_mutex::scoped_lock* next = tricky_pointer::load(s.my_next, std::memory_order_acquir… in downgrade_to_reader()
422 if( &s == s.my_mutex->q_tail.load(std::memory_order_seq_cst) ) { in downgrade_to_reader()
434 next = tricky_pointer::load(s.my_next, std::memory_order_acquire); in downgrade_to_reader()
438 if( next->my_state.load(std::memory_order_relaxed) & STATE_COMBINED_WAITINGREADER ) in downgrade_to_reader()
448 else if( next->my_state.load(std::memory_order_acquire)==STATE_UPGRADE_WAITING ) in downgrade_to_reader()
457 if (s.my_state.load(std::memory_order_relaxed) == STATE_WRITER) { in upgrade_to_writer()
462 …__TBB_ASSERT(s.my_state.load(std::memory_order_relaxed) == STATE_ACTIVEREADER, "only active reader… in upgrade_to_writer()
471 … __TBB_ASSERT( !(s.my_next.load(std::memory_order_relaxed) & FLAG), "use of corrupted pointer!" ); in upgrade_to_writer()
481 unsigned short n_state = next->my_state.load(std::memory_order_acquire); in upgrade_to_writer()
491 …for( atomic_backoff b; tricky_pointer::load(s.my_next, std::memory_order_relaxed)==tmp; b.pause() … in upgrade_to_writer()
492 if( s.my_state.load(std::memory_order_acquire) & STATE_COMBINED_UPGRADING ) { in upgrade_to_writer()
493 if( tricky_pointer::load(s.my_next, std::memory_order_acquire)==tmp ) in upgrade_to_writer()
498 …__TBB_ASSERT(tricky_pointer::load(s.my_next, std::memory_order_relaxed) != (tricky_pointer(next)|F… in upgrade_to_writer()
502 …__TBB_ASSERT( (tricky_pointer(next)|FLAG) == tricky_pointer::load(s.my_next, std::memory_order_rel… in upgrade_to_writer()
518 …__TBB_ASSERT( !( s.my_next.load(std::memory_order_relaxed) & FLAG ), "use of corrupted pointer!" ); in upgrade_to_writer()
544 predecessor = tricky_pointer::load(s.my_prev, std::memory_order_relaxed); in upgrade_to_writer()
554 predecessor = tricky_pointer::load(s.my_prev, std::memory_order_relaxed); in upgrade_to_writer()
578 return m.my_state.load(std::memory_order_relaxed) == STATE_WRITER; in is_writer()