summaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx/src/support/win32/atomic_win32.cpp
diff options
context:
space:
mode:
authormonster <[email protected]>2022-07-07 14:41:37 +0300
committermonster <[email protected]>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /contrib/libs/cxxsupp/libcxx/src/support/win32/atomic_win32.cpp
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
fix ya.make
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/src/support/win32/atomic_win32.cpp')
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/support/win32/atomic_win32.cpp31
1 files changed, 0 insertions, 31 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/src/support/win32/atomic_win32.cpp b/contrib/libs/cxxsupp/libcxx/src/support/win32/atomic_win32.cpp
deleted file mode 100644
index 28cb0722ce7..00000000000
--- a/contrib/libs/cxxsupp/libcxx/src/support/win32/atomic_win32.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <intrin.h>
-#include <cstdint>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace {
-static const int __msvc_locks_size = 1024;
-volatile long __msvc_locks[__msvc_locks_size];
-
-size_t __msvc_lock_hash(void* __p) {
- uintptr_t __num = reinterpret_cast<uintptr_t>(__p);
- return (__num ^ (__num >> 10)) & (__msvc_locks_size - 1);
-}
-}
-
-void __msvc_lock(void* __p) {
- volatile long& __lock = __msvc_locks[__msvc_lock_hash(__p)];
- while (_InterlockedExchange(&__lock, 1) == 0) {
-#if defined(_M_ARM) || defined(_M_ARM64)
- __yield();
-#endif
- }
-}
-
-void __msvc_unlock(void* __p) {
- volatile long& __lock = __msvc_locks[__msvc_lock_hash(__p)];
- _InterlockedExchange(&__lock, 0);
-}
-
-_LIBCPP_END_NAMESPACE_STD \ No newline at end of file