OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_BASE_BUILD_CONFIG_H_ | 5 #ifndef V8_BASE_BUILD_CONFIG_H_ |
6 #define V8_BASE_BUILD_CONFIG_H_ | 6 #define V8_BASE_BUILD_CONFIG_H_ |
7 | 7 |
8 #include "include/v8config.h" | 8 #include "include/v8config.h" |
9 | 9 |
10 // Processor architecture detection. For more info on what's defined, see: | 10 // Processor architecture detection. For more info on what's defined, see: |
(...skipping 17 matching lines...) Expand all Loading... |
28 #define V8_HOST_ARCH_ARM 1 | 28 #define V8_HOST_ARCH_ARM 1 |
29 #define V8_HOST_ARCH_32_BIT 1 | 29 #define V8_HOST_ARCH_32_BIT 1 |
30 #elif defined(__mips64) | 30 #elif defined(__mips64) |
31 #define V8_HOST_ARCH_MIPS64 1 | 31 #define V8_HOST_ARCH_MIPS64 1 |
32 #define V8_HOST_ARCH_64_BIT 1 | 32 #define V8_HOST_ARCH_64_BIT 1 |
33 #elif defined(__MIPSEB__) || defined(__MIPSEL__) | 33 #elif defined(__MIPSEB__) || defined(__MIPSEL__) |
34 #define V8_HOST_ARCH_MIPS 1 | 34 #define V8_HOST_ARCH_MIPS 1 |
35 #define V8_HOST_ARCH_32_BIT 1 | 35 #define V8_HOST_ARCH_32_BIT 1 |
36 #elif defined(__PPC__) || defined(_ARCH_PPC) | 36 #elif defined(__PPC__) || defined(_ARCH_PPC) |
37 #define V8_HOST_ARCH_PPC 1 | 37 #define V8_HOST_ARCH_PPC 1 |
38 #if defined(__PPC64__) || defined(_ARCH_PPC64) | 38 #if defined(__PPC64__) || defined(_ARCH_PPC64) || defined(_ARCH_PPCGR) |
39 #define V8_HOST_ARCH_64_BIT 1 | 39 #define V8_HOST_ARCH_64_BIT 1 |
40 #else | 40 #else |
41 #define V8_HOST_ARCH_32_BIT 1 | 41 #define V8_HOST_ARCH_32_BIT 1 |
42 #endif | 42 #endif |
43 #elif defined(__s390__) || defined(__s390x__) | 43 #elif defined(__s390__) || defined(__s390x__) |
44 #define V8_HOST_ARCH_S390 1 | 44 #define V8_HOST_ARCH_S390 1 |
45 #if defined(__s390x__) | 45 #if defined(__s390x__) |
46 #define V8_HOST_ARCH_64_BIT 1 | 46 #define V8_HOST_ARCH_64_BIT 1 |
47 #else | 47 #else |
48 #define V8_HOST_ARCH_32_BIT 1 | 48 #define V8_HOST_ARCH_32_BIT 1 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 #elif defined(_M_IX86) || defined(__i386__) | 84 #elif defined(_M_IX86) || defined(__i386__) |
85 #define V8_TARGET_ARCH_IA32 1 | 85 #define V8_TARGET_ARCH_IA32 1 |
86 #elif defined(__AARCH64EL__) | 86 #elif defined(__AARCH64EL__) |
87 #define V8_TARGET_ARCH_ARM64 1 | 87 #define V8_TARGET_ARCH_ARM64 1 |
88 #elif defined(__ARMEL__) | 88 #elif defined(__ARMEL__) |
89 #define V8_TARGET_ARCH_ARM 1 | 89 #define V8_TARGET_ARCH_ARM 1 |
90 #elif defined(__mips64) | 90 #elif defined(__mips64) |
91 #define V8_TARGET_ARCH_MIPS64 1 | 91 #define V8_TARGET_ARCH_MIPS64 1 |
92 #elif defined(__MIPSEB__) || defined(__MIPSEL__) | 92 #elif defined(__MIPSEB__) || defined(__MIPSEL__) |
93 #define V8_TARGET_ARCH_MIPS 1 | 93 #define V8_TARGET_ARCH_MIPS 1 |
| 94 #elif defined(_ARCH_PPC) |
| 95 #define V8_TARGET_ARCH_PPC 1 |
94 #else | 96 #else |
95 #error Target architecture was not detected as supported by v8 | 97 #error Target architecture was not detected as supported by v8 |
96 #endif | 98 #endif |
97 #endif | 99 #endif |
98 | 100 |
99 // Determine architecture pointer size. | 101 // Determine architecture pointer size. |
100 #if V8_TARGET_ARCH_IA32 | 102 #if V8_TARGET_ARCH_IA32 |
101 #define V8_TARGET_ARCH_32_BIT 1 | 103 #define V8_TARGET_ARCH_32_BIT 1 |
102 #elif V8_TARGET_ARCH_X64 | 104 #elif V8_TARGET_ARCH_X64 |
103 #if !V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_64_BIT | 105 #if !V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_64_BIT |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 #define V8_TARGET_LITTLE_ENDIAN 1 | 176 #define V8_TARGET_LITTLE_ENDIAN 1 |
175 #endif | 177 #endif |
176 #elif V8_TARGET_ARCH_MIPS64 | 178 #elif V8_TARGET_ARCH_MIPS64 |
177 #if defined(__MIPSEB__) || defined(V8_TARGET_ARCH_MIPS64_BE) | 179 #if defined(__MIPSEB__) || defined(V8_TARGET_ARCH_MIPS64_BE) |
178 #define V8_TARGET_BIG_ENDIAN 1 | 180 #define V8_TARGET_BIG_ENDIAN 1 |
179 #else | 181 #else |
180 #define V8_TARGET_LITTLE_ENDIAN 1 | 182 #define V8_TARGET_LITTLE_ENDIAN 1 |
181 #endif | 183 #endif |
182 #elif V8_TARGET_ARCH_X87 | 184 #elif V8_TARGET_ARCH_X87 |
183 #define V8_TARGET_LITTLE_ENDIAN 1 | 185 #define V8_TARGET_LITTLE_ENDIAN 1 |
| 186 #elif __BIG_ENDIAN__ // FOR PPCGR on AIX |
| 187 #define V8_TARGET_BIG_ENDIAN 1 |
184 #elif V8_TARGET_ARCH_PPC_LE | 188 #elif V8_TARGET_ARCH_PPC_LE |
185 #define V8_TARGET_LITTLE_ENDIAN 1 | 189 #define V8_TARGET_LITTLE_ENDIAN 1 |
186 #elif V8_TARGET_ARCH_PPC_BE | 190 #elif V8_TARGET_ARCH_PPC_BE |
187 #define V8_TARGET_BIG_ENDIAN 1 | 191 #define V8_TARGET_BIG_ENDIAN 1 |
188 #elif V8_TARGET_ARCH_S390 | 192 #elif V8_TARGET_ARCH_S390 |
189 #if V8_TARGET_ARCH_S390_LE_SIM | 193 #if V8_TARGET_ARCH_S390_LE_SIM |
190 #define V8_TARGET_LITTLE_ENDIAN 1 | 194 #define V8_TARGET_LITTLE_ENDIAN 1 |
191 #else | 195 #else |
192 #define V8_TARGET_BIG_ENDIAN 1 | 196 #define V8_TARGET_BIG_ENDIAN 1 |
193 #endif | 197 #endif |
194 #else | 198 #else |
195 #error Unknown target architecture endianness | 199 #error Unknown target architecture endianness |
196 #endif | 200 #endif |
197 | 201 |
198 #if defined(V8_TARGET_ARCH_IA32) || defined(V8_TARGET_ARCH_X64) || \ | 202 #if defined(V8_TARGET_ARCH_IA32) || defined(V8_TARGET_ARCH_X64) || \ |
199 defined(V8_TARGET_ARCH_X87) | 203 defined(V8_TARGET_ARCH_X87) |
200 #define V8_TARGET_ARCH_STORES_RETURN_ADDRESS_ON_STACK 1 | 204 #define V8_TARGET_ARCH_STORES_RETURN_ADDRESS_ON_STACK 1 |
201 #else | 205 #else |
202 #define V8_TARGET_ARCH_STORES_RETURN_ADDRESS_ON_STACK 0 | 206 #define V8_TARGET_ARCH_STORES_RETURN_ADDRESS_ON_STACK 0 |
203 #endif | 207 #endif |
204 | 208 |
205 // Number of bits to represent the page size for paged spaces. The value of 20 | 209 // Number of bits to represent the page size for paged spaces. The value of 20 |
206 // gives 1Mb bytes per page. | 210 // gives 1Mb bytes per page. |
207 const int kPageSizeBits = 19; | 211 const int kPageSizeBits = 19; |
208 | 212 |
209 #endif // V8_BASE_BUILD_CONFIG_H_ | 213 #endif // V8_BASE_BUILD_CONFIG_H_ |
OLD | NEW |