OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_GLOBALS_H_ | 5 #ifndef V8_GLOBALS_H_ |
6 #define V8_GLOBALS_H_ | 6 #define V8_GLOBALS_H_ |
7 | 7 |
8 #include "../include/v8stdint.h" | 8 #include "../include/v8stdint.h" |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 # define CAN_USE_ARMV7_INSTRUCTIONS 1 | 70 # define CAN_USE_ARMV7_INSTRUCTIONS 1 |
71 # ifndef CAN_USE_VFP3_INSTRUCTIONS | 71 # ifndef CAN_USE_VFP3_INSTRUCTIONS |
72 # define CAN_USE_VFP3_INSTRUCTIONS | 72 # define CAN_USE_VFP3_INSTRUCTIONS |
73 # endif | 73 # endif |
74 #endif | 74 #endif |
75 | 75 |
76 | 76 |
77 // Target architecture detection. This may be set externally. If not, detect | 77 // Target architecture detection. This may be set externally. If not, detect |
78 // in the same way as the host architecture, that is, target the native | 78 // in the same way as the host architecture, that is, target the native |
79 // environment as presented by the compiler. | 79 // environment as presented by the compiler. |
80 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && \ | 80 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_X87 &&\ |
81 !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS | 81 !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS |
82 #if defined(_M_X64) || defined(__x86_64__) | 82 #if defined(_M_X64) || defined(__x86_64__) |
83 #define V8_TARGET_ARCH_X64 1 | 83 #define V8_TARGET_ARCH_X64 1 |
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(__MIPSEB__) || defined(__MIPSEL__) | 90 #elif defined(__MIPSEB__) || defined(__MIPSEL__) |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 #elif V8_TARGET_ARCH_ARM | 134 #elif V8_TARGET_ARCH_ARM |
135 #define V8_TARGET_LITTLE_ENDIAN 1 | 135 #define V8_TARGET_LITTLE_ENDIAN 1 |
136 #elif V8_TARGET_ARCH_ARM64 | 136 #elif V8_TARGET_ARCH_ARM64 |
137 #define V8_TARGET_LITTLE_ENDIAN 1 | 137 #define V8_TARGET_LITTLE_ENDIAN 1 |
138 #elif V8_TARGET_ARCH_MIPS | 138 #elif V8_TARGET_ARCH_MIPS |
139 #if defined(__MIPSEB__) | 139 #if defined(__MIPSEB__) |
140 #define V8_TARGET_BIG_ENDIAN 1 | 140 #define V8_TARGET_BIG_ENDIAN 1 |
141 #else | 141 #else |
142 #define V8_TARGET_LITTLE_ENDIAN 1 | 142 #define V8_TARGET_LITTLE_ENDIAN 1 |
143 #endif | 143 #endif |
| 144 #elif V8_TARGET_ARCH_X87 |
| 145 #define V8_TARGET_LITTLE_ENDIAN 1 |
144 #else | 146 #else |
145 #error Unknown target architecture endianness | 147 #error Unknown target architecture endianness |
146 #endif | 148 #endif |
147 | 149 |
148 // Determine whether the architecture uses an out-of-line constant pool. | 150 // Determine whether the architecture uses an out-of-line constant pool. |
149 #define V8_OOL_CONSTANT_POOL 0 | 151 #define V8_OOL_CONSTANT_POOL 0 |
150 | 152 |
151 // Support for alternative bool type. This is only enabled if the code is | 153 // Support for alternative bool type. This is only enabled if the code is |
152 // compiled with USE_MYBOOL defined. This catches some nasty type bugs. | 154 // compiled with USE_MYBOOL defined. This catches some nasty type bugs. |
153 // For instance, 'bool b = "false";' results in b == true! This is a hidden | 155 // For instance, 'bool b = "false";' results in b == true! This is a hidden |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 // Declarations for use in both the preparser and the rest of V8. | 331 // Declarations for use in both the preparser and the rest of V8. |
330 | 332 |
331 // The Strict Mode (ECMA-262 5th edition, 4.2.2). | 333 // The Strict Mode (ECMA-262 5th edition, 4.2.2). |
332 | 334 |
333 enum StrictMode { SLOPPY, STRICT }; | 335 enum StrictMode { SLOPPY, STRICT }; |
334 | 336 |
335 | 337 |
336 } } // namespace v8::internal | 338 } } // namespace v8::internal |
337 | 339 |
338 #endif // V8_GLOBALS_H_ | 340 #endif // V8_GLOBALS_H_ |
OLD | NEW |