34 #ifndef GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
35 #define GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
42 #define gpr_atm_full_barrier MemoryBarrier
69 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
70 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
72 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG *)p,
79 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
80 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
82 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG *)p,
89 return o == (
gpr_atm)InterlockedCompareExchangeRelease64(
90 (
volatile LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);
92 return o == (
gpr_atm)InterlockedCompareExchangeRelease((
volatile LONG *)p,
113 }
while (old != (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG *)p,
114 (LONGLONG)old + delta,
119 }
while (old != (
gpr_atm)InterlockedCompareExchange(
120 (
volatile LONG *)p, (LONG)old + delta, (LONG)old));
126 return (
gpr_atm)InterlockedExchangePointer((PVOID *)p, (PVOID)n);
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:60
#define gpr_atm_full_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:69
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:63
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:84
#define gpr_atm_full_xchg(p, n)
Definition: atm_gcc_atomic.h:88
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:85
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:59
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:61
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:66
intptr_t gpr_atm
Definition: atm_gcc_atomic.h:41
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:83
intptr_t gpr_atm
Definition: atm_windows.h:40
#define gpr_atm_full_barrier
Definition: atm_windows.h:42