equal
deleted
inserted
replaced
74 inline void OrderAccess::acquire() { inlasm_zarch_acquire(); } |
74 inline void OrderAccess::acquire() { inlasm_zarch_acquire(); } |
75 inline void OrderAccess::release() { inlasm_zarch_release(); } |
75 inline void OrderAccess::release() { inlasm_zarch_release(); } |
76 inline void OrderAccess::fence() { inlasm_zarch_sync(); } |
76 inline void OrderAccess::fence() { inlasm_zarch_sync(); } |
77 inline void OrderAccess::cross_modify_fence() { inlasm_zarch_sync(); } |
77 inline void OrderAccess::cross_modify_fence() { inlasm_zarch_sync(); } |
78 |
78 |
79 template<size_t byte_size> |
|
80 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE> |
|
81 { |
|
82 template <typename T> |
|
83 T operator()(const volatile T* p) const { T t = *p; inlasm_zarch_acquire(); return t; } |
|
84 }; |
|
85 |
|
86 #undef inlasm_compiler_barrier |
79 #undef inlasm_compiler_barrier |
87 #undef inlasm_zarch_sync |
80 #undef inlasm_zarch_sync |
88 #undef inlasm_zarch_release |
81 #undef inlasm_zarch_release |
89 #undef inlasm_zarch_acquire |
82 #undef inlasm_zarch_acquire |
90 #undef inlasm_zarch_fence |
83 #undef inlasm_zarch_fence |