34 #ifndef GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
35 #define GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
41 #define GPR_ATM_MAX INTPTR_MAX
43 #define gpr_atm_full_barrier MemoryBarrier
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)InterlockedCompareExchangeAcquire64(
81 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
83 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG *)p,
90 return o == (
gpr_atm)InterlockedCompareExchangeRelease64(
91 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
93 return o == (
gpr_atm)InterlockedCompareExchangeRelease((
volatile LONG *)p,
100 return o == (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG *)p,
101 (LONGLONG)n, (LONGLONG)o);
103 return o == (
gpr_atm)InterlockedCompareExchange((
volatile LONG *)p, (LONG)n,
124 }
while (old != (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG *)p,
125 (LONGLONG)old + delta,
130 }
while (old != (
gpr_atm)InterlockedCompareExchange(
131 (
volatile LONG *)p, (LONG)old + delta, (LONG)old));
137 return (
gpr_atm)InterlockedExchangePointer((PVOID *)p, (PVOID)n);
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:61
#define gpr_atm_full_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:70
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:64
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:85
#define gpr_atm_full_xchg(p, n)
Definition: atm_gcc_atomic.h:94
#define gpr_atm_full_cas(p, o, n)
Definition: atm_gcc_sync.h:87
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:86
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:60
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:62
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:67
intptr_t gpr_atm
Definition: atm_gcc_atomic.h:41
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:84
intptr_t gpr_atm
Win32 variant of atm_platform.h.
Definition: atm_windows.h:40
#define gpr_atm_full_barrier
Definition: atm_windows.h:43