| Index: include/core/SkOnce.h
|
| diff --git a/include/core/SkOnce.h b/include/core/SkOnce.h
|
| index daeb819d428408d36ef4cb7b72407d2a12fc01e9..d5330b94087a1d52e2ce8336747e0642075f8523 100644
|
| --- a/include/core/SkOnce.h
|
| +++ b/include/core/SkOnce.h
|
| @@ -85,12 +85,10 @@ inline static void compiler_barrier() {
|
| #endif
|
|
|
| inline static void full_barrier_on_arm() {
|
| -#ifdef SK_CPU_ARM
|
| -# if SK_ARM_ARCH >= 7
|
| - asm volatile("dmb" : : : "memory");
|
| -# else
|
| +#if (defined(SK_CPU_ARM) && SK_ARM_ARCH >= 7) || defined(SK_CPU_ARM64)
|
| + asm volatile("dmb ish" : : : "memory");
|
| +#elif defined(SK_CPU_ARM)
|
| asm volatile("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory");
|
| -# endif
|
| #endif
|
| }
|
|
|
|
|