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

Side by Side Diff: src/globals.h

Issue 18014003: Add X32 port into V8 (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Rebased with bleeding_edge Created 6 years, 6 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 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 "src/base/build_config.h" 10 #include "src/base/build_config.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 const uint32_t kMaxUInt32 = 0xFFFFFFFFu; 131 const uint32_t kMaxUInt32 = 0xFFFFFFFFu;
132 132
133 const int kCharSize = sizeof(char); // NOLINT 133 const int kCharSize = sizeof(char); // NOLINT
134 const int kShortSize = sizeof(short); // NOLINT 134 const int kShortSize = sizeof(short); // NOLINT
135 const int kIntSize = sizeof(int); // NOLINT 135 const int kIntSize = sizeof(int); // NOLINT
136 const int kInt32Size = sizeof(int32_t); // NOLINT 136 const int kInt32Size = sizeof(int32_t); // NOLINT
137 const int kInt64Size = sizeof(int64_t); // NOLINT 137 const int kInt64Size = sizeof(int64_t); // NOLINT
138 const int kDoubleSize = sizeof(double); // NOLINT 138 const int kDoubleSize = sizeof(double); // NOLINT
139 const int kIntptrSize = sizeof(intptr_t); // NOLINT 139 const int kIntptrSize = sizeof(intptr_t); // NOLINT
140 const int kPointerSize = sizeof(void*); // NOLINT 140 const int kPointerSize = sizeof(void*); // NOLINT
141 #if V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_32_BIT
142 const int kRegisterSize = kPointerSize + kPointerSize;
143 #else
141 const int kRegisterSize = kPointerSize; 144 const int kRegisterSize = kPointerSize;
145 #endif
142 const int kPCOnStackSize = kRegisterSize; 146 const int kPCOnStackSize = kRegisterSize;
143 const int kFPOnStackSize = kRegisterSize; 147 const int kFPOnStackSize = kRegisterSize;
144 148
145 const int kDoubleSizeLog2 = 3; 149 const int kDoubleSizeLog2 = 3;
146 150
147 #if V8_HOST_ARCH_64_BIT 151 #if V8_HOST_ARCH_64_BIT
148 const int kPointerSizeLog2 = 3; 152 const int kPointerSizeLog2 = 3;
149 const intptr_t kIntptrSignBit = V8_INT64_C(0x8000000000000000); 153 const intptr_t kIntptrSignBit = V8_INT64_C(0x8000000000000000);
150 const uintptr_t kUintptrAllBitsSet = V8_UINT64_C(0xFFFFFFFFFFFFFFFF); 154 const uintptr_t kUintptrAllBitsSet = V8_UINT64_C(0xFFFFFFFFFFFFFFFF);
151 const bool kRequiresCodeRange = true; 155 const bool kRequiresCodeRange = true;
152 const size_t kMaximalCodeRangeSize = 512 * MB; 156 const size_t kMaximalCodeRangeSize = 512 * MB;
153 #else 157 #else
154 const int kPointerSizeLog2 = 2; 158 const int kPointerSizeLog2 = 2;
155 const intptr_t kIntptrSignBit = 0x80000000; 159 const intptr_t kIntptrSignBit = 0x80000000;
156 const uintptr_t kUintptrAllBitsSet = 0xFFFFFFFFu; 160 const uintptr_t kUintptrAllBitsSet = 0xFFFFFFFFu;
161 #if V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_32_BIT
162 // x32 port also requires code range.
163 const bool kRequiresCodeRange = true;
164 const size_t kMaximalCodeRangeSize = 256 * MB;
165 #else
157 const bool kRequiresCodeRange = false; 166 const bool kRequiresCodeRange = false;
158 const size_t kMaximalCodeRangeSize = 0 * MB; 167 const size_t kMaximalCodeRangeSize = 0 * MB;
159 #endif 168 #endif
169 #endif
160 170
161 const int kBitsPerByte = 8; 171 const int kBitsPerByte = 8;
162 const int kBitsPerByteLog2 = 3; 172 const int kBitsPerByteLog2 = 3;
163 const int kBitsPerPointer = kPointerSize * kBitsPerByte; 173 const int kBitsPerPointer = kPointerSize * kBitsPerByte;
164 const int kBitsPerInt = kIntSize * kBitsPerByte; 174 const int kBitsPerInt = kIntSize * kBitsPerByte;
165 175
166 // IEEE 754 single precision floating point number bit layout. 176 // IEEE 754 single precision floating point number bit layout.
167 const uint32_t kBinary32SignMask = 0x80000000u; 177 const uint32_t kBinary32SignMask = 0x80000000u;
168 const uint32_t kBinary32ExponentMask = 0x7f800000u; 178 const uint32_t kBinary32ExponentMask = 0x7f800000u;
169 const uint32_t kBinary32MantissaMask = 0x007fffffu; 179 const uint32_t kBinary32MantissaMask = 0x007fffffu;
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 enum MinusZeroMode { 765 enum MinusZeroMode {
756 TREAT_MINUS_ZERO_AS_ZERO, 766 TREAT_MINUS_ZERO_AS_ZERO,
757 FAIL_ON_MINUS_ZERO 767 FAIL_ON_MINUS_ZERO
758 }; 768 };
759 769
760 } } // namespace v8::internal 770 } } // namespace v8::internal
761 771
762 namespace i = v8::internal; 772 namespace i = v8::internal;
763 773
764 #endif // V8_GLOBALS_H_ 774 #endif // V8_GLOBALS_H_
OLDNEW
« src/base/build_config.h ('K') | « src/gdb-jit.cc ('k') | src/log.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698