19 #ifndef GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
20 #define GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
26 #define GPR_ATM_MAX INTPTR_MAX
28 #define gpr_atm_full_barrier MemoryBarrier
55 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
56 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
58 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG *)p,
65 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
66 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
68 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG *)p,
75 return o == (
gpr_atm)InterlockedCompareExchangeRelease64(
76 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
78 return o == (
gpr_atm)InterlockedCompareExchangeRelease((
volatile LONG *)p,
85 return o == (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG *)p,
86 (LONGLONG)n, (LONGLONG)o);
88 return o == (
gpr_atm)InterlockedCompareExchange((
volatile LONG *)p, (LONG)n,
109 }
while (old != (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG *)p,
110 (LONGLONG)old + delta,
115 }
while (old != (
gpr_atm)InterlockedCompareExchange(
116 (
volatile LONG *)p, (LONG)old + delta, (LONG)old));
122 return (
gpr_atm)InterlockedExchangePointer((PVOID *)p, (PVOID)n);
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:46
#define gpr_atm_full_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:55
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:49
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:70
#define gpr_atm_full_xchg(p, n)
Definition: atm_gcc_atomic.h:79
#define gpr_atm_full_cas(p, o, n)
Definition: atm_gcc_sync.h:72
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:71
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:45
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:47
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:52
intptr_t gpr_atm
Definition: atm_gcc_atomic.h:26
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:69
intptr_t gpr_atm
Win32 variant of atm_platform.h.
Definition: atm_windows.h:25
#define gpr_atm_full_barrier
Definition: atm_windows.h:28