Lines Matching defs:exchange
87 * \brief Atomic compare and exchange (CAS) 32-bit value.
90 * \param exchange New value.
95 * exchange value.
100 DE_INLINE deUint32 deAtomicCompareExchangeUint32 (volatile deUint32* dstAddr, deUint32 compare, deUint32 exchange)
103 return _InterlockedCompareExchange((volatile long*)dstAddr, exchange, compare);
105 return __sync_val_compare_and_swap(dstAddr, compare, exchange);
171 * \brief Atomic compare and exchange (CAS) 64-bit value.
174 * \param exchange New value.
179 * exchange value.
184 DE_INLINE deUint64 deAtomicCompareExchangeUint64 (volatile deUint64* dstAddr, deUint64 compare, deUint64 exchange)
187 return _InterlockedCompareExchange64((volatile long long*)dstAddr, exchange, compare);
189 return __sync_val_compare_and_swap(dstAddr, compare, exchange);
230 * \brief Atomic compare and exchange (CAS) pointer.
233 * \param exchange New value.
238 * exchange value.
243 DE_INLINE void* deAtomicCompareExchangePtr (void* volatile* dstAddr, void* compare, void* exchange)
246 return (void*)deAtomicCompareExchangeUint64((volatile deUint64*)dstAddr, (deUint64)compare, (deUint64)exchange);
248 return (void*)deAtomicCompareExchangeUint32((volatile deUint32*)dstAddr, (deUint32)compare, (deUint32)exchange);