Index: runtime/vm/atomic_linux.h |
diff --git a/runtime/vm/atomic_linux.h b/runtime/vm/atomic_linux.h |
index 18456cf57d3330280e827e91b79dd5d2266f31c8..350bcedba66f8789a8f05ad4f6db42af9db09821 100644 |
--- a/runtime/vm/atomic_linux.h |
+++ b/runtime/vm/atomic_linux.h |
@@ -21,6 +21,11 @@ inline uintptr_t AtomicOperations::FetchAndIncrement(uintptr_t* p) { |
} |
+inline intptr_t AtomicOperations::FetchAndIncrement(intptr_t* p) { |
+ return __sync_fetch_and_add(p, 1); |
+} |
+ |
+ |
inline void AtomicOperations::IncrementBy(intptr_t* p, intptr_t value) { |
__sync_fetch_and_add(p, value); |
} |
@@ -41,6 +46,11 @@ inline uintptr_t AtomicOperations::FetchAndDecrement(uintptr_t* p) { |
} |
+inline intptr_t AtomicOperations::FetchAndDecrement(intptr_t* p) { |
+ return __sync_fetch_and_sub(p, 1); |
+} |
+ |
+ |
inline void AtomicOperations::DecrementBy(intptr_t* p, intptr_t value) { |
__sync_fetch_and_sub(p, value); |
} |