[libcxx-commits] [libcxx] [libc++] Improve performance of std::atomic_flag on Windows (PR #163524)
David Spickett via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Oct 15 02:07:44 PDT 2025
================
@@ -101,6 +105,37 @@ static void __libcpp_platform_wake_by_address(__cxx_atomic_contention_t const vo
_umtx_op(const_cast<__cxx_atomic_contention_t*>(__ptr), UMTX_OP_WAKE, __notify_one ? 1 : INT_MAX, nullptr, nullptr);
}
+#elif defined(_WIN32)
+
+static void
+__libcpp_platform_wait_on_address(__cxx_atomic_contention_t const volatile* __ptr, __cxx_contention_t __val) {
+ static auto pWaitOnAddress = reinterpret_cast<BOOL(WINAPI*)(volatile void*, PVOID, SIZE_T, DWORD)>(
----------------
DavidSpickett wrote:
Maybe it's ok for this to not be `__pWaitOnAddress` (see https://libcxx.llvm.org/CodingGuidelines.html#use-ugly-names-for-implementation-details), but reviewers might want `__` added just to be consistent.
https://github.com/llvm/llvm-project/pull/163524
More information about the libcxx-commits
mailing list