| Index: include/core/SkOnce.h
|
| diff --git a/include/core/SkOnce.h b/include/core/SkOnce.h
|
| index 59eaf598bca1b3a49257cbcf856b5b248c79063e..a72822e48c2aa5427590b532ec7774945dba5a80 100644
|
| --- a/include/core/SkOnce.h
|
| +++ b/include/core/SkOnce.h
|
| @@ -61,12 +61,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
|
| }
|
|
|
|
|