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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 #define V8_HOST_ARCH_32_BIT 1 | 48 #define V8_HOST_ARCH_32_BIT 1 |
49 #endif | 49 #endif |
50 #else | 50 #else |
51 #error "Host architecture was not detected as supported by v8" | 51 #error "Host architecture was not detected as supported by v8" |
52 #endif | 52 #endif |
53 | 53 |
54 #if defined(__ARM_ARCH_7A__) || \ | 54 #if defined(__ARM_ARCH_7A__) || \ |
55 defined(__ARM_ARCH_7R__) || \ | 55 defined(__ARM_ARCH_7R__) || \ |
56 defined(__ARM_ARCH_7__) | 56 defined(__ARM_ARCH_7__) |
57 # define CAN_USE_ARMV7_INSTRUCTIONS 1 | 57 # define CAN_USE_ARMV7_INSTRUCTIONS 1 |
| 58 # ifdef __ARM_ARCH_EXT_IDIV__ |
| 59 # define CAN_USE_SUDIV 1 |
| 60 # endif |
58 # ifndef CAN_USE_VFP3_INSTRUCTIONS | 61 # ifndef CAN_USE_VFP3_INSTRUCTIONS |
59 # define CAN_USE_VFP3_INSTRUCTIONS | 62 # define CAN_USE_VFP3_INSTRUCTIONS 1 |
60 # endif | 63 # endif |
61 #endif | 64 #endif |
62 | 65 |
63 #if defined(__ARM_ARCH_8A__) | 66 #if defined(__ARM_ARCH_8A__) |
| 67 # define CAN_USE_ARMV7_INSTRUCTIONS 1 |
| 68 # define CAN_USE_SUDIV 1 |
64 # define CAN_USE_ARMV8_INSTRUCTIONS 1 | 69 # define CAN_USE_ARMV8_INSTRUCTIONS 1 |
| 70 # ifndef CAN_USE_VFP3_INSTRUCTIONS |
| 71 # define CAN_USE_VFP3_INSTRUCTIONS 1 |
| 72 # endif |
65 #endif | 73 #endif |
66 | 74 |
67 | 75 |
68 // Target architecture detection. This may be set externally. If not, detect | 76 // Target architecture detection. This may be set externally. If not, detect |
69 // in the same way as the host architecture, that is, target the native | 77 // in the same way as the host architecture, that is, target the native |
70 // environment as presented by the compiler. | 78 // environment as presented by the compiler. |
71 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_X87 && \ | 79 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_X87 && \ |
72 !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ | 80 !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ |
73 !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC && !V8_TARGET_ARCH_S390 | 81 !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC && !V8_TARGET_ARCH_S390 |
74 #if defined(_M_X64) || defined(__x86_64__) | 82 #if defined(_M_X64) || defined(__x86_64__) |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 // Number of bits to represent the page size for paged spaces. The value of 20 | 205 // Number of bits to represent the page size for paged spaces. The value of 20 |
198 // gives 1Mb bytes per page. | 206 // gives 1Mb bytes per page. |
199 #if V8_HOST_ARCH_PPC && V8_TARGET_ARCH_PPC && V8_OS_LINUX | 207 #if V8_HOST_ARCH_PPC && V8_TARGET_ARCH_PPC && V8_OS_LINUX |
200 // Bump up for Power Linux due to larger (64K) page size. | 208 // Bump up for Power Linux due to larger (64K) page size. |
201 const int kPageSizeBits = 22; | 209 const int kPageSizeBits = 22; |
202 #else | 210 #else |
203 const int kPageSizeBits = 20; | 211 const int kPageSizeBits = 20; |
204 #endif | 212 #endif |
205 | 213 |
206 #endif // V8_BASE_BUILD_CONFIG_H_ | 214 #endif // V8_BASE_BUILD_CONFIG_H_ |
OLD | NEW |