| Index: src/globals.h
|
| diff --git a/src/globals.h b/src/globals.h
|
| index 59931bf5ddb3ba7a9908e97b43aaa7915e731791..b36b64cb956cf7a582fdb2190255e8752725fc6b 100644
|
| --- a/src/globals.h
|
| +++ b/src/globals.h
|
| @@ -86,6 +86,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
|
| @@ -99,18 +103,21 @@ 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
|
|
|
| // Target architecture detection. This may be set externally. If not, detect
|
| // in the same way as the host architecture, that is, target the native
|
| // environment as presented by the compiler.
|
| -#if !defined(V8_TARGET_ARCH_X64) && !defined(V8_TARGET_ARCH_IA32) && \
|
| - !defined(V8_TARGET_ARCH_ARM) && !defined(V8_TARGET_ARCH_MIPS)
|
| +#if !defined(V8_TARGET_ARCH_X64) && !defined(V8_TARGET_ARCH_IA32) && \
|
| + !defined(V8_TARGET_ARCH_A64) && !defined(V8_TARGET_ARCH_ARM) && \
|
| + !defined(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__)
|
| @@ -131,6 +138,10 @@ namespace internal {
|
| !(defined(V8_HOST_ARCH_IA32) || defined(V8_HOST_ARCH_ARM)))
|
| #error Target architecture arm is only supported on arm and ia32 host
|
| #endif
|
| +#if (defined(V8_TARGET_ARCH_A64) && \
|
| + !(defined(V8_HOST_ARCH_X64) || defined(V8_HOST_ARCH_A64)))
|
| +#error Target architecture a64 is only supported on a64 and x64 host
|
| +#endif
|
| #if (defined(V8_TARGET_ARCH_MIPS) && \
|
| !(defined(V8_HOST_ARCH_IA32) || defined(V8_HOST_ARCH_MIPS)))
|
| #error Target architecture mips is only supported on mips and ia32 host
|
| @@ -140,6 +151,9 @@ namespace internal {
|
| // Setting USE_SIMULATOR explicitly from the build script will force
|
| // the use of a simulated environment.
|
| #if !defined(USE_SIMULATOR)
|
| +#if (defined(V8_TARGET_ARCH_A64) && !defined(V8_HOST_ARCH_A64))
|
| +#define USE_SIMULATOR 1
|
| +#endif
|
| #if (defined(V8_TARGET_ARCH_ARM) && !defined(V8_HOST_ARCH_ARM))
|
| #define USE_SIMULATOR 1
|
| #endif
|
|
|