| Index: src/globals.h
|
| diff --git a/src/globals.h b/src/globals.h
|
| index b9437f2ac4ba21f4801411b76800e6beb7f5cb22..8a67632d2cd74284b1c61807608a5ed8cb071465 100644
|
| --- a/src/globals.h
|
| +++ b/src/globals.h
|
| @@ -71,6 +71,10 @@ namespace internal {
|
| #define V8_HOST_ARCH_IA32 1
|
| #define V8_HOST_ARCH_32_BIT 1
|
| #define V8_HOST_CAN_READ_UNALIGNED 1
|
| +#elif defined(__AARCH64EL__)
|
| +#define V8_HOST_ARCH_A64 1
|
| +#define V8_HOST_ARCH_64_BIT 1
|
| +#define V8_HOST_CAN_READ_UNALIGNED 1
|
| #elif defined(__ARMEL__)
|
| #define V8_HOST_ARCH_ARM 1
|
| #define V8_HOST_ARCH_32_BIT 1
|
| @@ -78,7 +82,7 @@ namespace internal {
|
| #define V8_HOST_ARCH_MIPS 1
|
| #define V8_HOST_ARCH_32_BIT 1
|
| #else
|
| -#error Host architecture was not detected as supported by v8
|
| +#error "Host architecture was not detected as supported by v8"
|
| #endif
|
|
|
| #if defined(__ARM_ARCH_7A__) || \
|
| @@ -95,11 +99,13 @@ namespace internal {
|
| // in the same way as the host architecture, that is, target the native
|
| // environment as presented by the compiler.
|
| #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && \
|
| - !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS
|
| + !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_A64 && !V8_TARGET_ARCH_MIPS
|
| #if defined(_M_X64) || defined(__x86_64__)
|
| #define V8_TARGET_ARCH_X64 1
|
| #elif defined(_M_IX86) || defined(__i386__)
|
| #define V8_TARGET_ARCH_IA32 1
|
| +#elif defined(__AARCH64EL__)
|
| +#define V8_TARGET_ARCH_A64 1
|
| #elif defined(__ARMEL__)
|
| #define V8_TARGET_ARCH_ARM 1
|
| #elif defined(__MIPSEL__)
|
| @@ -119,6 +125,9 @@ namespace internal {
|
| #if (V8_TARGET_ARCH_ARM && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_ARM))
|
| #error Target architecture arm is only supported on arm and ia32 host
|
| #endif
|
| +#if (V8_TARGET_ARCH_A64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_A64))
|
| +#error Target architecture a64 is only supported on a64 and x64 host
|
| +#endif
|
| #if (V8_TARGET_ARCH_MIPS && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_MIPS))
|
| #error Target architecture mips is only supported on mips and ia32 host
|
| #endif
|
| @@ -127,6 +136,9 @@ namespace internal {
|
| // Setting USE_SIMULATOR explicitly from the build script will force
|
| // the use of a simulated environment.
|
| #if !defined(USE_SIMULATOR)
|
| +#if (V8_TARGET_ARCH_A64 && !V8_HOST_ARCH_A64)
|
| +#define USE_SIMULATOR 1
|
| +#endif
|
| #if (V8_TARGET_ARCH_ARM && !V8_HOST_ARCH_ARM)
|
| #define USE_SIMULATOR 1
|
| #endif
|
| @@ -142,6 +154,8 @@ namespace internal {
|
| #define V8_TARGET_LITTLE_ENDIAN 1
|
| #elif V8_TARGET_ARCH_ARM
|
| #define V8_TARGET_LITTLE_ENDIAN 1
|
| +#elif V8_TARGET_ARCH_A64
|
| +#define V8_TARGET_LITTLE_ENDIAN 1
|
| #elif V8_TARGET_ARCH_MIPS
|
| #define V8_TARGET_LITTLE_ENDIAN 1
|
| #else
|
|
|