Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorBartosz Taudul <wolf@nereid.pl>2022-06-23 02:15:55 +0300
committerBartosz Taudul <wolf@nereid.pl>2022-06-23 02:15:55 +0300
commit1625a45c31b49f2bfbcdb533366bbc2432b41de7 (patch)
treef287e8ddb183cc4d5bb6292bbd067b25bd625fcd /common
parent68de009e0eb8e8c615107c3a13002a35d910d833 (diff)
On ARM64 use ISB to yield CPU in spinlocks.
https://github.com/rust-lang/rust/commit/c064b6560b7ce0adeb9bbf5d7dcf12b1acb0c807
Diffstat (limited to 'common')
-rw-r--r--common/TracyYield.hpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/common/TracyYield.hpp b/common/TracyYield.hpp
index 403ca29c..7b8ccef0 100644
--- a/common/TracyYield.hpp
+++ b/common/TracyYield.hpp
@@ -16,6 +16,8 @@ static tracy_force_inline void YieldThread()
{
#if defined __SSE2__ || defined _M_AMD64 || _M_IX86_FP == 2
_mm_pause();
+#elif defined __aarch64__
+ asm volatile( "isb" : : );
#else
std::this_thread::yield();
#endif