projects/aports·blob master · refs

16 lines · 847 B

1[arm64] Use the ISB instruction instead of YIELD
2https://source.chromium.org/chromium/_/chromium/v8/v8/+/2b4f16e81707a744c09417f49ad6c7cb77413da8
3--- a/deps/v8/src/base/platform/yield-processor.h
4+++ b/deps/v8/src/base/platform/yield-processor.h
5@@ -41,8 +41,10 @@
6 #if defined(V8_HOST_ARCH_IA32) || defined(V8_HOST_ARCH_X64)
7 #define YIELD_PROCESSOR __asm__ __volatile__("pause")
8 #elif defined(V8_HOST_ARCH_ARM64) || \
9- (defined(V8_HOST_ARCH_ARM) && __ARM_ARCH >= 6)
10+ (defined(V8_HOST_ARCH_ARM) && __ARM_ARCH > 6)
11 #define YIELD_PROCESSOR __asm__ __volatile__("isb" ::: "memory")
12+#elif defined(V8_HOST_ARCH_ARM)
13+#define YIELD_PROCESSOR __asm__ __volatile__("yield")
14 #elif defined(V8_HOST_ARCH_MIPS64EL) && __mips_isa_rev >= 2
15 // Don't bother doing using .word here since r2 is the lowest supported mips64
16 // that Chromium supports.