Index: runtime/vm/atomic_win.h |
diff --git a/runtime/vm/atomic_win.h b/runtime/vm/atomic_win.h |
index 38ec10a1f8996841078d0dec585ed38f8fe84601..b761559f70b58a71c9840d63242022a34d8877eb 100644 |
--- a/runtime/vm/atomic_win.h |
+++ b/runtime/vm/atomic_win.h |
@@ -13,8 +13,20 @@ |
#error This file should only be included on Windows builds. |
#endif |
+#include <atomic> |
+ |
namespace dart { |
+template<typename T> T AtomicOperations::LoadAcquire(T* ptr) { |
+ return atomic_load_explicit(ptr, memory_order_acquire); |
+} |
+ |
+ |
+template<typename T> void AtomicOperations::StoreRelease(T* ptr, T val) { |
+ return atomic_store_explicit(ptr, val, memory_order_release); |
+} |
+ |
+ |
inline uintptr_t AtomicOperations::FetchAndIncrement(uintptr_t* p) { |
#if defined(HOST_ARCH_X64) |
return static_cast<uintptr_t>( |