| Index: runtime/vm/atomic_win.h
|
| diff --git a/runtime/vm/atomic_win.h b/runtime/vm/atomic_win.h
|
| index 4ef539c3a3f3f639496b4fe2947653b505c95ca8..8e07cd3d20b2330f60d2cc3a8d9e009af41843b6 100644
|
| --- a/runtime/vm/atomic_win.h
|
| +++ b/runtime/vm/atomic_win.h
|
| @@ -59,6 +59,18 @@ inline uword AtomicOperations::CompareAndSwapWord(uword* ptr,
|
| #error Unsupported host architecture.
|
| #endif
|
| }
|
| +inline uint32_t AtomicOperations::CompareAndSwapUint32(uint32_t* ptr,
|
| + uint32_t old_value,
|
| + uint32_t new_value) {
|
| +#if (defined(HOST_ARCH_X64) || defined(HOST_ARCH_IA32))
|
| + return static_cast<uint32_t>(
|
| + InterlockedCompareExchange(reinterpret_cast<LONG*>(ptr),
|
| + static_cast<LONG>(new_value),
|
| + static_cast<LONG>(old_value)));
|
| +#else
|
| +#error Unsupported host architecture.
|
| +#endif
|
| +}
|
| #endif // !defined(USING_SIMULATOR)
|
|
|
| } // namespace dart
|
|
|