Home
last modified time | relevance | path

Searched refs:exchange (Results 1 – 24 of 24) sorted by relevance

/oneTBB/include/oneapi/tbb/
H A Dmutex.h64 bool result = !my_flag.load(std::memory_order_relaxed) && !my_flag.exchange(true); in try_lock()
76 my_flag.exchange(false); in unlock()
H A Dspin_mutex.h71 while (m_flag.exchange(true)) backoff.pause(); in lock()
78 bool result = !m_flag.exchange(true); in try_lock()
H A Dqueuing_mutex.h85 scoped_lock* pred = m.q_tail.exchange(this); in acquire()
H A Dpartitioner.h148 flag.exchange(true); in mark_task_stolen()
/oneTBB/src/tbb/
H A Dconcurrent_monitor_mutex.h51 while (my_flag.exchange(1)) { in lock()
63 my_flag.exchange(0); // full fence, so the next load is relaxed in unlock()
H A Dsemaphore.h251 s = my_sem.exchange( 2 ); in P()
254 s = my_sem.exchange( 2 ); in P()
261 if( my_sem.exchange( 0 )==2 ) in V()
H A Dqueuing_rw_mutex.cpp46 static T* exchange( std::atomic<word>& location, T* value, std::memory_order memory_order ) { in exchange() function in tbb::detail::r1::tricky_atomic_pointer
47 return reinterpret_cast<T*>(location.exchange(reinterpret_cast<word>(value), memory_order)); in exchange()
175 … queuing_rw_mutex::scoped_lock* predecessor = m.q_tail.exchange(&s, std::memory_order_acq_rel); in acquire()
319 …d1::queuing_rw_mutex::scoped_lock* tmp = tricky_pointer::exchange(next->my_prev, nullptr, std::mem… in release()
376 … tmp = tricky_pointer::exchange(l_next->my_prev, predecessor, std::memory_order_release); in release()
401 tmp = tricky_pointer::exchange(next->my_prev, nullptr, std::memory_order_release); in release()
486 tmp = tricky_pointer::exchange(next->my_prev, &s, std::memory_order_release); in upgrade_to_writer()
H A Dsmall_object_pool.cpp56 obj = m_public_list.exchange(nullptr); in allocate_impl()
138 small_object* public_list = m_public_list.exchange(dead_public_list); in destroy()
H A Dthread_request_serializer.cpp38 … delta = int(my_pending_delta.exchange(pending_delta_base) & delta_mask) - int(pending_delta_base); in update()
H A Dobserver_proxy.cpp64 if (!obs || !(p = obs->my_proxy.exchange(nullptr))) { in clear()
295 if ( observer_proxy* proxy = tso.my_proxy.exchange(nullptr) ) { in observe()
H A Drml_thread_monitor.h229 if (!my_notified.exchange(true, std::memory_order_release)) { in notify()
H A Dscheduler_common.h406 …if (m_prev_suspend_point && m_prev_suspend_point->m_stack_state.exchange(stack_state::suspended) =… in finilize_resume()
414 return m_stack_state.exchange(stack_state::notified) == stack_state::suspended; in try_notify_resume()
H A Dmailbox.h162 atomic_proxy_ptr* const link = my_last.exchange(&t->next_in_mailbox); in push()
H A Darena_slot.h148 return !is_occupied() && my_is_occupied.exchange(true) == false; in try_occupy()
H A Dprivate_server.cpp241 state_t prev_state = my_state.exchange(st_quit, std::memory_order_acq_rel); in start_shutdown()
H A Dtask_group_context.cpp229 …cellation_requested.load(std::memory_order_relaxed) || ctx.my_cancellation_requested.exchange(1)) { in cancel_group_execution()
/oneTBB/include/oneapi/tbb/detail/
H A D_waitable_atomic.h56 T exchange(T desired) noexcept { in exchange() function
57 return my_atomic.exchange(desired); in exchange()
H A D_aggregator.h126 op_list = pending_operations.exchange(nullptr); in start_handle_operations()
/oneTBB/src/tbb/tools_api/
H A Dittnotify_config.h299 __itt_interlocked_compare_exchange(volatile long* ptr, long exchange, long comperand) ITT_INLINE_AT…
301 __itt_interlocked_compare_exchange(volatile long* ptr, long exchange, long comperand) in __itt_interlocked_compare_exchange() argument
303 return InterlockedCompareExchange(ptr, exchange, comperand); in __itt_interlocked_compare_exchange()
392 __itt_interlocked_compare_exchange(volatile long* ptr, long exchange, long comperand) ITT_INLINE_AT…
394 __itt_interlocked_compare_exchange(volatile long* ptr, long exchange, long comperand) in __itt_interlocked_compare_exchange() argument
396 return __sync_val_compare_and_swap(ptr, exchange, comperand); in __itt_interlocked_compare_exchange()
/oneTBB/src/tbbmalloc/
H A Dlarge_objects.cpp1024 if (!softCachesCleanupInProgress.exchange(1, std::memory_order_acq_rel)) { in softCachesCleanup()
1033 if (hardCachesCleanupInProgress.exchange(1, std::memory_order_acq_rel)) { in hardCachesCleanup()
1038 while (hardCachesCleanupInProgress.exchange(1, std::memory_order_acq_rel)) in hardCachesCleanup()
H A Dfrontend.cpp1460 localPublicFreeList = publicFreeList.exchange((FreeObject*)endMarker); in privatizePublicFreeList()
1650 Block *b = head.exchange(nullptr); in getBlock()
1667 Block *localHead = head.exchange(nullptr); in returnBlock()
1699 for (Block *currBl=head.exchange(nullptr); currBl; currBl=helper) { in externalCleanup()
2202 LargeMemoryBlock *localHead = head.exchange(nullptr); in put()
2244 if (!head.load(std::memory_order_acquire) || (localHead = head.exchange(nullptr)) == nullptr) { in get()
2274 if (LargeMemoryBlock *localHead = head.exchange(nullptr)) { in externalCleanup()
/oneTBB/test/tbbmalloc/
H A Dtest_malloc_pools.cpp316 bool wasUsed = used.exchange(true); in useData()
/oneTBB/test/tbb/
H A Dtest_task.cpp527 if (resume_flag.exchange(false)) { in __anon509d20bd1002()
/oneTBB/test/common/
H A Dgraph_utils.h391 successor_type *s = my_receiver.exchange( nullptr );