summaryrefslogtreecommitdiff
path: root/chromium/base/allocator/partition_allocator/yield_processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/allocator/partition_allocator/yield_processor.h')
-rw-r--r--chromium/base/allocator/partition_allocator/yield_processor.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/chromium/base/allocator/partition_allocator/yield_processor.h b/chromium/base/allocator/partition_allocator/yield_processor.h
index 9a2adcbe845..7a7d2fa7f02 100644
--- a/chromium/base/allocator/partition_allocator/yield_processor.h
+++ b/chromium/base/allocator/partition_allocator/yield_processor.h
@@ -19,8 +19,12 @@
#else
#if defined(COMPILER_MSVC)
-#include <windows.h>
-#define YIELD_PROCESSOR YieldProcessor()
+#include <intrin.h>
+#if defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_X86)
+#define YIELD_PROCESSOR _mm_pause()
+#else
+#define YIELD_PROCESSOR __yield()
+#endif
#elif defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_X86)
#define YIELD_PROCESSOR __asm__ __volatile__("pause")
#elif (defined(ARCH_CPU_ARMEL) && __ARM_ARCH >= 6) || defined(ARCH_CPU_ARM64)