34 #ifndef GRPC_SUPPORT_ATM_WIN32_H
35 #define GRPC_SUPPORT_ATM_WIN32_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));
const char * value
Definition: hpack_table.c:44
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:52
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:45
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:46
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:84
#define gpr_atm_full_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:54
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:49
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:47
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:83
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:85
gpr_intptr gpr_atm
Definition: atm_win32.h:40
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
#define gpr_atm_full_barrier
Definition: atm_win32.h:42