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 |
} |