Index: src/base/atomicops.h |
diff --git a/src/base/atomicops.h b/src/base/atomicops.h |
index eba172f0be0cd382f12e1278b73cbd826219e9a2..2f4b46461b366b151663abd8aafbea8183fc8f22 100644 |
--- a/src/base/atomicops.h |
+++ b/src/base/atomicops.h |
@@ -42,15 +42,17 @@ namespace base { |
typedef char Atomic8; |
typedef int32_t Atomic32; |
-#ifdef V8_HOST_ARCH_64_BIT |
+#if defined(__native_client__) |
+typedef int64_t Atomic64; |
+#elif defined(V8_HOST_ARCH_64_BIT) |
// We need to be able to go between Atomic64 and AtomicWord implicitly. This |
// means Atomic64 and AtomicWord should be the same type on 64-bit. |
#if defined(__ILP32__) |
typedef int64_t Atomic64; |
#else |
typedef intptr_t Atomic64; |
-#endif |
-#endif |
+#endif // defined(V8_HOST_ARCH_64_BIT) |
+#endif // defined(__native_client__) |
// Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or |
// Atomic64 routines below, depending on your architecture. |
@@ -140,6 +142,8 @@ Atomic64 Release_Load(volatile const Atomic64* ptr); |
#include "src/base/atomicops_internals_x86_msvc.h" |
#elif defined(__APPLE__) |
#include "src/base/atomicops_internals_mac.h" |
+#elif defined(__native_client__) |
+#include "src/base/atomicops_internals_portable.h" |
#elif defined(__GNUC__) && V8_HOST_ARCH_ARM64 |
#include "src/base/atomicops_internals_arm64_gcc.h" |
#elif defined(__GNUC__) && V8_HOST_ARCH_ARM |