Commit f9b7c64c authored by David Reid's avatar David Reid

Add ma_compare_and_swap_16().

parent a04a318b
...@@ -7619,6 +7619,7 @@ ma_atomic_increment/decrement_*() takes a pointer to the variable being incremen ...@@ -7619,6 +7619,7 @@ ma_atomic_increment/decrement_*() takes a pointer to the variable being incremen
#define ma_atomic_exchange_64(a, b) InterlockedExchange64((LONGLONG*)a, (LONGLONG)b) #define ma_atomic_exchange_64(a, b) InterlockedExchange64((LONGLONG*)a, (LONGLONG)b)
#define ma_atomic_increment_32(a) InterlockedIncrement((LONG*)a) #define ma_atomic_increment_32(a) InterlockedIncrement((LONG*)a)
#define ma_atomic_decrement_32(a) InterlockedDecrement((LONG*)a) #define ma_atomic_decrement_32(a) InterlockedDecrement((LONG*)a)
#define ma_compare_and_swap_16(d, e, c) _InterlockedCompareExchange16((short*)d, (short)e, (short)c)
#define ma_compare_and_swap_32(d, e, c) _InterlockedCompareExchange((LONG*)d, (LONG)e, (LONG)c) #define ma_compare_and_swap_32(d, e, c) _InterlockedCompareExchange((LONG*)d, (LONG)e, (LONG)c)
#define ma_compare_and_swap_64(d, e, c) _InterlockedCompareExchange64((LONGLONG*)d, (LONGLONG)e, (LONGLONG)c) #define ma_compare_and_swap_64(d, e, c) _InterlockedCompareExchange64((LONGLONG*)d, (LONGLONG)e, (LONGLONG)c)
#define ma_compare_and_swap_ptr(d, e, c) _InterlockedCompareExchangePointer((void*volatile*)d, (void*)e, (void*)c) #define ma_compare_and_swap_ptr(d, e, c) _InterlockedCompareExchangePointer((void*volatile*)d, (void*)e, (void*)c)
...@@ -7636,6 +7637,7 @@ ma_atomic_increment/decrement_*() takes a pointer to the variable being incremen ...@@ -7636,6 +7637,7 @@ ma_atomic_increment/decrement_*() takes a pointer to the variable being incremen
#endif #endif
#define ma_atomic_increment_32(a) __sync_add_and_fetch(a, 1) #define ma_atomic_increment_32(a) __sync_add_and_fetch(a, 1)
#define ma_atomic_decrement_32(a) __sync_sub_and_fetch(a, 1) #define ma_atomic_decrement_32(a) __sync_sub_and_fetch(a, 1)
#define ma_compare_and_swap_16(d, e, c) __sync_val_compare_and_swap(d, c, e)
#define ma_compare_and_swap_32(d, e, c) __sync_val_compare_and_swap(d, c, e) #define ma_compare_and_swap_32(d, e, c) __sync_val_compare_and_swap(d, c, e)
#define ma_compare_and_swap_64(d, e, c) __sync_val_compare_and_swap(d, c, e) #define ma_compare_and_swap_64(d, e, c) __sync_val_compare_and_swap(d, c, e)
#define ma_compare_and_swap_ptr(d, e, c) __sync_val_compare_and_swap(d, c, e) #define ma_compare_and_swap_ptr(d, e, c) __sync_val_compare_and_swap(d, c, e)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment