Index: src/ports/SkAtomics_android.h |
diff --git a/src/ports/SkAtomics_android.h b/src/ports/SkAtomics_android.h |
index e7b2133175317d1243dbed906c80a518c06d6ca1..4698a64efb2620e0973714a469f5b56029431682 100644 |
--- a/src/ports/SkAtomics_android.h |
+++ b/src/ports/SkAtomics_android.h |
@@ -13,9 +13,17 @@ |
#include <cutils/atomic.h> |
#include <stdint.h> |
-#define sk_atomic_inc(addr) android_atomic_inc(addr) |
-#define sk_atomic_add(addr, inc) android_atomic_add(inc, addr) |
-#define sk_atomic_dec(addr) android_atomic_dec(addr) |
+static inline __attribute__((always_inline)) int32_t sk_atomic_inc(int32_t* addr) { |
+ return android_atomic_inc(addr); |
+} |
+ |
+static inline __attribute__((always_inline)) int32_t sk_atomic_add(int32_t* addr, int32_t inc) { |
+ return android_atomic_add(inc, addr); |
+} |
+ |
+static inline __attribute__((always_inline)) int32_t sk_atomic_dec(int32_t* addr) { |
+ return android_atomic_dec(addr); |
+} |
static inline __attribute__((always_inline)) void sk_membar_acquire__after_atomic_dec() { |
//HACK: Android is actually using full memory barriers. |
@@ -36,7 +44,7 @@ static inline __attribute__((always_inline)) int32_t sk_atomic_conditional_inc(i |
} |
} |
-static inline __attribute___((always_inline)) bool sk_atomic_cas(int32_t* addr, |
+static inline __attribute__((always_inline)) bool sk_atomic_cas(int32_t* addr, |
int32_t before, |
int32_t after) { |
// android_atomic_release_cas returns 0 for success (if *addr == before and it wrote after). |