File mozilla-aarch64-nojit-2.patch of Package MozillaFirefox
# HG changeset patch
# User Makoto Kato <m_kato@ga2.so-net.ne.jp>
# Date 1458195969 -32400
# Node ID a5919256fd5c5e7c020980acd02f2b8d9b0a4f02
# Parent ab2eaec552267aee225cbde6eb391e7f0db8aa4b
Bug 1257055 - Use jit/arm64/Architecture-arm64.h on non-JIT aarch64. r=lth
MozReview-Commit-ID: EmzEDleNc7E
diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
--- a/js/src/jit/AtomicOperations.h
+++ b/js/src/jit/AtomicOperations.h
@@ -306,16 +306,18 @@ AtomicOperations::isLockfree(int32_t siz
// You can disable the JIT with --disable-ion but you must still
// provide the atomic operations that will be used by the JS engine.
// When the JIT is disabled the operations are simply safe-for-races
// C++ realizations of atomics. These operations cannot be written
// in portable C++, hence the default here is to crash. See the
// top of the file for more guidance.
# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
# include "jit/none/AtomicOperations-ppc.h"
+# elif defined(__aarch64__)
+# include "jit/arm64/AtomicOperations-arm64.h"
# else
# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
# endif
#elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
# include "jit/x86-shared/AtomicOperations-x86-shared.h"
#else
# error "Atomic operations must be defined for this platform"
#endif
diff --git a/js/src/jit/arm64/AtomicOperations-arm64.h b/js/src/jit/arm64/AtomicOperations-arm64.h
--- a/js/src/jit/arm64/AtomicOperations-arm64.h
+++ b/js/src/jit/arm64/AtomicOperations-arm64.h
@@ -7,18 +7,16 @@
/* For documentation, see jit/AtomicOperations.h */
#ifndef jit_arm64_AtomicOperations_arm64_h
#define jit_arm64_AtomicOperations_arm64_h
#include "mozilla/Assertions.h"
#include "mozilla/Types.h"
-#include "jit/arm64/Architecture-arm64.h"
-
inline bool
js::jit::AtomicOperations::isLockfree8()
{
MOZ_ASSERT(__atomic_always_lock_free(sizeof(int8_t), 0));
MOZ_ASSERT(__atomic_always_lock_free(sizeof(int16_t), 0));
MOZ_ASSERT(__atomic_always_lock_free(sizeof(int32_t), 0));
return true;
}