equal
deleted
inserted
replaced
47 |
47 |
48 inline void OrderAccess::fence() { |
48 inline void OrderAccess::fence() { |
49 FULL_MEM_BARRIER; |
49 FULL_MEM_BARRIER; |
50 } |
50 } |
51 |
51 |
|
52 inline void OrderAccess::cross_modify_fence() { } |
|
53 |
52 template<size_t byte_size> |
54 template<size_t byte_size> |
53 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE> |
55 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE> |
54 { |
56 { |
55 template <typename T> |
57 template <typename T> |
56 T operator()(const volatile T* p) const { T data; __atomic_load(p, &data, __ATOMIC_ACQUIRE); return data; } |
58 T operator()(const volatile T* p) const { T data; __atomic_load(p, &data, __ATOMIC_ACQUIRE); return data; } |