summaryrefslogtreecommitdiffstats
path: root/include/cutils/atomic-x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cutils/atomic-x86.h')
-rw-r--r--include/cutils/atomic-x86.h19
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)
{