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