7 #ifndef V8_BASE_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ 8 #define V8_BASE_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ 21 #if !defined(V8_HOST_ARCH_64_BIT) 26 inline AtomicWord Relaxed_CompareAndSwap(
volatile AtomicWord* ptr,
28 AtomicWord new_value) {
29 return Relaxed_CompareAndSwap(reinterpret_cast<volatile Atomic32*>(ptr),
30 old_value, new_value);
33 inline AtomicWord Relaxed_AtomicExchange(
volatile AtomicWord* ptr,
34 AtomicWord new_value) {
35 return Relaxed_AtomicExchange(reinterpret_cast<volatile Atomic32*>(ptr),
39 inline AtomicWord Relaxed_AtomicIncrement(
volatile AtomicWord* ptr,
40 AtomicWord increment) {
41 return Relaxed_AtomicIncrement(reinterpret_cast<volatile Atomic32*>(ptr),
45 inline AtomicWord Barrier_AtomicIncrement(
volatile AtomicWord* ptr,
46 AtomicWord increment) {
47 return Barrier_AtomicIncrement(
48 reinterpret_cast<volatile Atomic32*>(ptr), increment);
51 inline AtomicWord Acquire_CompareAndSwap(
volatile AtomicWord* ptr,
53 AtomicWord new_value) {
54 return v8::base::Acquire_CompareAndSwap(
55 reinterpret_cast<volatile Atomic32*>(ptr), old_value, new_value);
58 inline AtomicWord Release_CompareAndSwap(
volatile AtomicWord* ptr,
60 AtomicWord new_value) {
61 return v8::base::Release_CompareAndSwap(
62 reinterpret_cast<volatile Atomic32*>(ptr), old_value, new_value);
65 inline void Relaxed_Store(
volatile AtomicWord* ptr, AtomicWord value) {
66 Relaxed_Store(reinterpret_cast<volatile Atomic32*>(ptr), value);
69 inline void Release_Store(
volatile AtomicWord* ptr, AtomicWord value) {
70 return v8::base::Release_Store(
71 reinterpret_cast<volatile Atomic32*>(ptr), value);
74 inline AtomicWord Relaxed_Load(
volatile const AtomicWord* ptr) {
75 return Relaxed_Load(reinterpret_cast<volatile const Atomic32*>(ptr));
78 inline AtomicWord Acquire_Load(
volatile const AtomicWord* ptr) {
79 return v8::base::Acquire_Load(
80 reinterpret_cast<volatile const Atomic32*>(ptr));
86 #endif // !defined(V8_HOST_ARCH_64_BIT) 88 #endif // V8_BASE_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_