19 #ifndef GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
20 #define GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
28 #define GPR_ATM_MAX INTPTR_MAX
29 #define GPR_ATM_MIN INTPTR_MIN
30 #define GPR_ATM_INC_CAS_THEN(blah) blah
31 #define GPR_ATM_INC_ADD_THEN(blah) blah
33 #define gpr_atm_full_barrier MemoryBarrier
60 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
61 (
volatile LONGLONG*)p, (LONGLONG)n, (LONGLONG)o);
63 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG*)p,
70 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
71 (
volatile LONGLONG*)p, (LONGLONG)n, (LONGLONG)o);
73 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG*)p,
80 return o == (
gpr_atm)InterlockedCompareExchangeRelease64(
81 (
volatile LONGLONG*)p, (LONGLONG)n, (LONGLONG)o);
83 return o == (
gpr_atm)InterlockedCompareExchangeRelease((
volatile LONG*)p,
90 return o == (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG*)p,
91 (LONGLONG)n, (LONGLONG)o);
93 return o == (
gpr_atm)InterlockedCompareExchange((
volatile LONG*)p, (
LONG)n,
114 }
while (old != (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG*)p,
115 (LONGLONG)old + delta,
120 }
while (old != (
gpr_atm)InterlockedCompareExchange(
121 (
volatile LONG*)p, (LONG)old + delta, (LONG)old));
127 return (
gpr_atm)InterlockedExchangePointer((PVOID*)p, (PVOID)n);
intptr_t gpr_atm
Definition: atm_gcc_atomic.h:30
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:52
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:50
#define gpr_atm_full_xchg(p, n)
Definition: atm_gcc_atomic.h:84
#define gpr_atm_full_barrier()
Definition: atm_gcc_atomic.h:48
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:51
#define gpr_atm_full_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:60
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:57
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:54
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:73
#define gpr_atm_full_cas(p, o, n)
Definition: atm_gcc_sync.h:75
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:72
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:74