diff options
Diffstat (limited to 'include/cutils/atomic-x86.h')
-rw-r--r-- | include/cutils/atomic-x86.h | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/include/cutils/atomic-x86.h b/include/cutils/atomic-x86.h index 12a1985..438012e 100644 --- a/include/cutils/atomic-x86.h +++ b/include/cutils/atomic-x86.h @@ -29,11 +29,19 @@ extern inline void android_memory_barrier(void) { android_compiler_barrier(); } +extern inline void android_memory_store_barrier(void) +{ + android_compiler_barrier(); +} #else extern inline void android_memory_barrier(void) { __asm__ __volatile__ ("mfence" : : : "memory"); } +extern inline void android_memory_store_barrier(void) +{ + android_compiler_barrier(); +} #endif extern inline int32_t android_atomic_acquire_load(volatile const int32_t *ptr) @@ -90,17 +98,6 @@ extern inline int android_atomic_release_cas(int32_t old_value, return android_atomic_cas(old_value, new_value, ptr); } -extern inline int32_t android_atomic_swap(int32_t new_value, - volatile int32_t *ptr) -{ - __asm__ __volatile__ ("xchgl %1, %0" - : "=r" (new_value) - : "m" (*ptr), "0" (new_value) - : "memory"); - /* new_value now holds the old value of *ptr */ - return new_value; -} - extern inline int32_t android_atomic_add(int32_t increment, volatile int32_t *ptr) { |