Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: src/base/build_config.h

Issue 422063005: Contribution of PowerPC port. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: re-upload - catch up to 8/19 level Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 30 matching lines...) Expand all
41 #define V8_HOST_CAN_READ_UNALIGNED 1 41 #define V8_HOST_CAN_READ_UNALIGNED 1
42 #elif defined(__ARMEL__) 42 #elif defined(__ARMEL__)
43 #define V8_HOST_ARCH_ARM 1 43 #define V8_HOST_ARCH_ARM 1
44 #define V8_HOST_ARCH_32_BIT 1 44 #define V8_HOST_ARCH_32_BIT 1
45 #elif defined(__mips64) 45 #elif defined(__mips64)
46 #define V8_HOST_ARCH_MIPS64 1 46 #define V8_HOST_ARCH_MIPS64 1
47 #define V8_HOST_ARCH_64_BIT 1 47 #define V8_HOST_ARCH_64_BIT 1
48 #elif defined(__MIPSEB__) || defined(__MIPSEL__) 48 #elif defined(__MIPSEB__) || defined(__MIPSEL__)
49 #define V8_HOST_ARCH_MIPS 1 49 #define V8_HOST_ARCH_MIPS 1
50 #define V8_HOST_ARCH_32_BIT 1 50 #define V8_HOST_ARCH_32_BIT 1
51 #elif defined(__PPC__) || defined(_ARCH_PPC)
52 #define V8_HOST_ARCH_PPC 1
53 #if defined(__PPC64__) || defined(_ARCH_PPC64)
54 #define V8_HOST_ARCH_64_BIT 1
55 #else
56 #define V8_HOST_ARCH_32_BIT 1
57 #endif
51 #else 58 #else
52 #error "Host architecture was not detected as supported by v8" 59 #error "Host architecture was not detected as supported by v8"
53 #endif 60 #endif
54 61
55 #if defined(__ARM_ARCH_7A__) || \ 62 #if defined(__ARM_ARCH_7A__) || \
56 defined(__ARM_ARCH_7R__) || \ 63 defined(__ARM_ARCH_7R__) || \
57 defined(__ARM_ARCH_7__) 64 defined(__ARM_ARCH_7__)
58 # define CAN_USE_ARMV7_INSTRUCTIONS 1 65 # define CAN_USE_ARMV7_INSTRUCTIONS 1
59 # ifndef CAN_USE_VFP3_INSTRUCTIONS 66 # ifndef CAN_USE_VFP3_INSTRUCTIONS
60 # define CAN_USE_VFP3_INSTRUCTIONS 67 # define CAN_USE_VFP3_INSTRUCTIONS
61 # endif 68 # endif
62 #endif 69 #endif
63 70
64 71
65 // Target architecture detection. This may be set externally. If not, detect 72 // Target architecture detection. This may be set externally. If not, detect
66 // in the same way as the host architecture, that is, target the native 73 // in the same way as the host architecture, that is, target the native
67 // environment as presented by the compiler. 74 // environment as presented by the compiler.
68 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_X87 && \ 75 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_X87 && \
69 !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \ 76 !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS && \
70 !V8_TARGET_ARCH_MIPS64 77 !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC
71 #if defined(_M_X64) || defined(__x86_64__) 78 #if defined(_M_X64) || defined(__x86_64__)
72 #define V8_TARGET_ARCH_X64 1 79 #define V8_TARGET_ARCH_X64 1
73 #elif defined(_M_IX86) || defined(__i386__) 80 #elif defined(_M_IX86) || defined(__i386__)
74 #define V8_TARGET_ARCH_IA32 1 81 #define V8_TARGET_ARCH_IA32 1
75 #elif defined(__AARCH64EL__) 82 #elif defined(__AARCH64EL__)
76 #define V8_TARGET_ARCH_ARM64 1 83 #define V8_TARGET_ARCH_ARM64 1
77 #elif defined(__ARMEL__) 84 #elif defined(__ARMEL__)
78 #define V8_TARGET_ARCH_ARM 1 85 #define V8_TARGET_ARCH_ARM 1
79 #elif defined(__mips64) 86 #elif defined(__mips64)
80 #define V8_TARGET_ARCH_MIPS64 1 87 #define V8_TARGET_ARCH_MIPS64 1
(...skipping 16 matching lines...) Expand all
97 #endif 104 #endif
98 #endif 105 #endif
99 #elif V8_TARGET_ARCH_ARM 106 #elif V8_TARGET_ARCH_ARM
100 #define V8_TARGET_ARCH_32_BIT 1 107 #define V8_TARGET_ARCH_32_BIT 1
101 #elif V8_TARGET_ARCH_ARM64 108 #elif V8_TARGET_ARCH_ARM64
102 #define V8_TARGET_ARCH_64_BIT 1 109 #define V8_TARGET_ARCH_64_BIT 1
103 #elif V8_TARGET_ARCH_MIPS 110 #elif V8_TARGET_ARCH_MIPS
104 #define V8_TARGET_ARCH_32_BIT 1 111 #define V8_TARGET_ARCH_32_BIT 1
105 #elif V8_TARGET_ARCH_MIPS64 112 #elif V8_TARGET_ARCH_MIPS64
106 #define V8_TARGET_ARCH_64_BIT 1 113 #define V8_TARGET_ARCH_64_BIT 1
114 #elif V8_TARGET_ARCH_PPC
115 #if V8_TARGET_ARCH_PPC64
116 #define V8_TARGET_ARCH_64_BIT 1
117 #else
118 #define V8_TARGET_ARCH_32_BIT 1
119 #endif
107 #elif V8_TARGET_ARCH_X87 120 #elif V8_TARGET_ARCH_X87
108 #define V8_TARGET_ARCH_32_BIT 1 121 #define V8_TARGET_ARCH_32_BIT 1
109 #else 122 #else
110 #error Unknown target architecture pointer size 123 #error Unknown target architecture pointer size
111 #endif 124 #endif
112 125
113 // Check for supported combinations of host and target architectures. 126 // Check for supported combinations of host and target architectures.
114 #if V8_TARGET_ARCH_IA32 && !V8_HOST_ARCH_IA32 127 #if V8_TARGET_ARCH_IA32 && !V8_HOST_ARCH_IA32
115 #error Target architecture ia32 is only supported on ia32 host 128 #error Target architecture ia32 is only supported on ia32 host
116 #endif 129 #endif
(...skipping 30 matching lines...) Expand all
147 #elif V8_TARGET_ARCH_MIPS 160 #elif V8_TARGET_ARCH_MIPS
148 #if defined(__MIPSEB__) 161 #if defined(__MIPSEB__)
149 #define V8_TARGET_BIG_ENDIAN 1 162 #define V8_TARGET_BIG_ENDIAN 1
150 #else 163 #else
151 #define V8_TARGET_LITTLE_ENDIAN 1 164 #define V8_TARGET_LITTLE_ENDIAN 1
152 #endif 165 #endif
153 #elif V8_TARGET_ARCH_MIPS64 166 #elif V8_TARGET_ARCH_MIPS64
154 #define V8_TARGET_LITTLE_ENDIAN 1 167 #define V8_TARGET_LITTLE_ENDIAN 1
155 #elif V8_TARGET_ARCH_X87 168 #elif V8_TARGET_ARCH_X87
156 #define V8_TARGET_LITTLE_ENDIAN 1 169 #define V8_TARGET_LITTLE_ENDIAN 1
170 #elif V8_TARGET_ARCH_PPC_LE
171 #define V8_TARGET_LITTLE_ENDIAN 1
172 #elif V8_TARGET_ARCH_PPC_BE
173 #define V8_TARGET_BIG_ENDIAN 1
157 #else 174 #else
158 #error Unknown target architecture endianness 175 #error Unknown target architecture endianness
159 #endif 176 #endif
160 177
161 #if V8_OS_MACOSX || defined(__FreeBSD__) || defined(__OpenBSD__) 178 #if V8_OS_MACOSX || defined(__FreeBSD__) || defined(__OpenBSD__)
162 #define USING_BSD_ABI 179 #define USING_BSD_ABI
163 #endif 180 #endif
164 181
165 // Number of bits to represent the page size for paged spaces. The value of 20 182 // Number of bits to represent the page size for paged spaces. The value of 20
166 // gives 1Mb bytes per page. 183 // gives 1Mb bytes per page.
167 const int kPageSizeBits = 20; 184 const int kPageSizeBits = 20;
168 185
169 #endif // V8_BASE_BUILD_CONFIG_H_ 186 #endif // V8_BASE_BUILD_CONFIG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698