mirror of
https://github.com/google/leveldb.git
synced 2024-12-26 03:50:10 +08:00
Add arm64 support to leveldb.
This commit is contained in:
parent
cea9b10e5b
commit
c4c38f9c1f
@ -35,6 +35,8 @@
|
|||||||
#define ARCH_CPU_X86_FAMILY 1
|
#define ARCH_CPU_X86_FAMILY 1
|
||||||
#elif defined(__ARMEL__)
|
#elif defined(__ARMEL__)
|
||||||
#define ARCH_CPU_ARM_FAMILY 1
|
#define ARCH_CPU_ARM_FAMILY 1
|
||||||
|
#elif defined(__aarch64__)
|
||||||
|
#define ARCH_CPU_ARM64_FAMILY 1
|
||||||
#elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
|
#elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
|
||||||
#define ARCH_CPU_PPC_FAMILY 1
|
#define ARCH_CPU_PPC_FAMILY 1
|
||||||
#endif
|
#endif
|
||||||
@ -92,6 +94,13 @@ inline void MemoryBarrier() {
|
|||||||
}
|
}
|
||||||
#define LEVELDB_HAVE_MEMORY_BARRIER
|
#define LEVELDB_HAVE_MEMORY_BARRIER
|
||||||
|
|
||||||
|
// ARM64
|
||||||
|
#elif defined(ARCH_CPU_ARM64_FAMILY)
|
||||||
|
inline void MemoryBarrier() {
|
||||||
|
asm volatile("dmb sy" : : : "memory");
|
||||||
|
}
|
||||||
|
#define LEVELDB_HAVE_MEMORY_BARRIER
|
||||||
|
|
||||||
// PPC
|
// PPC
|
||||||
#elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__)
|
#elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__)
|
||||||
inline void MemoryBarrier() {
|
inline void MemoryBarrier() {
|
||||||
@ -215,6 +224,7 @@ class AtomicPointer {
|
|||||||
#undef LEVELDB_HAVE_MEMORY_BARRIER
|
#undef LEVELDB_HAVE_MEMORY_BARRIER
|
||||||
#undef ARCH_CPU_X86_FAMILY
|
#undef ARCH_CPU_X86_FAMILY
|
||||||
#undef ARCH_CPU_ARM_FAMILY
|
#undef ARCH_CPU_ARM_FAMILY
|
||||||
|
#undef ARCH_CPU_ARM64_FAMILY
|
||||||
#undef ARCH_CPU_PPC_FAMILY
|
#undef ARCH_CPU_PPC_FAMILY
|
||||||
|
|
||||||
} // namespace port
|
} // namespace port
|
||||||
|
Loading…
Reference in New Issue
Block a user