File tree Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change 3535#define ARCH_CPU_X86_FAMILY 1
3636#elif defined(__ARMEL__)
3737#define ARCH_CPU_ARM_FAMILY 1
38+ #elif defined(__aarch64__)
39+ #define ARCH_CPU_ARM64_FAMILY 1
3840#elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
3941#define ARCH_CPU_PPC_FAMILY 1
4042#endif
@@ -92,6 +94,13 @@ inline void MemoryBarrier() {
9294}
9395#define LEVELDB_HAVE_MEMORY_BARRIER
9496
97+ // ARM64
98+ #elif defined(ARCH_CPU_ARM64_FAMILY)
99+ inline void MemoryBarrier () {
100+ asm volatile (" dmb sy" : : : " memory" );
101+ }
102+ #define LEVELDB_HAVE_MEMORY_BARRIER
103+
95104// PPC
96105#elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__)
97106inline void MemoryBarrier () {
@@ -215,6 +224,7 @@ class AtomicPointer {
215224#undef LEVELDB_HAVE_MEMORY_BARRIER
216225#undef ARCH_CPU_X86_FAMILY
217226#undef ARCH_CPU_ARM_FAMILY
227+ #undef ARCH_CPU_ARM64_FAMILY
218228#undef ARCH_CPU_PPC_FAMILY
219229
220230} // namespace port
You can’t perform that action at this time.
0 commit comments