19 #ifndef GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
20 #define GRPC_IMPL_CODEGEN_ATM_WINDOWS_H
30 #define GPR_ATM_MAX INTPTR_MAX
31 #define GPR_ATM_MIN INTPTR_MIN
32 #define GPR_ATM_INC_CAS_THEN(blah) blah
33 #define GPR_ATM_INC_ADD_THEN(blah) blah
35 #define gpr_atm_full_barrier MemoryBarrier
62 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
63 (
volatile LONGLONG*)
p, (LONGLONG)
n, (LONGLONG)
o);
65 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG*)
p,
72 return o == (
gpr_atm)InterlockedCompareExchangeAcquire64(
73 (
volatile LONGLONG*)
p, (LONGLONG)
n, (LONGLONG)
o);
75 return o == (
gpr_atm)InterlockedCompareExchangeAcquire((
volatile LONG*)
p,
82 return o == (
gpr_atm)InterlockedCompareExchangeRelease64(
83 (
volatile LONGLONG*)
p, (LONGLONG)
n, (LONGLONG)
o);
85 return o == (
gpr_atm)InterlockedCompareExchangeRelease((
volatile LONG*)
p,
92 return o == (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG*)
p,
93 (LONGLONG)
n, (LONGLONG)
o);
95 return o == (
gpr_atm)InterlockedCompareExchange((
volatile LONG*)
p, (
LONG)
n,
116 }
while (
old != (
gpr_atm)InterlockedCompareExchange64((
volatile LONGLONG*)
p,
117 (LONGLONG)
old + delta,
122 }
while (
old != (
gpr_atm)InterlockedCompareExchange(
123 (
volatile LONG*)
p, (LONG)
old + delta, (LONG)
old));
129 return (
gpr_atm)InterlockedExchangePointer((PVOID*)
p, (PVOID)
n);