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 <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 const int kPCOnStackSize = kRegisterSize; | 135 const int kPCOnStackSize = kRegisterSize; |
136 const int kFPOnStackSize = kRegisterSize; | 136 const int kFPOnStackSize = kRegisterSize; |
137 | 137 |
138 const int kDoubleSizeLog2 = 3; | 138 const int kDoubleSizeLog2 = 3; |
139 | 139 |
140 #if V8_HOST_ARCH_64_BIT | 140 #if V8_HOST_ARCH_64_BIT |
141 const int kPointerSizeLog2 = 3; | 141 const int kPointerSizeLog2 = 3; |
142 const intptr_t kIntptrSignBit = V8_INT64_C(0x8000000000000000); | 142 const intptr_t kIntptrSignBit = V8_INT64_C(0x8000000000000000); |
143 const uintptr_t kUintptrAllBitsSet = V8_UINT64_C(0xFFFFFFFFFFFFFFFF); | 143 const uintptr_t kUintptrAllBitsSet = V8_UINT64_C(0xFFFFFFFFFFFFFFFF); |
144 const bool kRequiresCodeRange = true; | 144 const bool kRequiresCodeRange = true; |
| 145 #if V8_TARGET_ARCH_MIPS64 |
| 146 // To use pseudo-relative jumps such as j/jal instructions which have 28-bit |
| 147 // encoded immediate, the addresses have to be in range of 256MB aligned |
| 148 // region. Used only for large object space. |
| 149 const size_t kMaximalCodeRangeSize = 256 * MB; |
| 150 #else |
145 const size_t kMaximalCodeRangeSize = 512 * MB; | 151 const size_t kMaximalCodeRangeSize = 512 * MB; |
| 152 #endif |
146 #if V8_OS_WIN | 153 #if V8_OS_WIN |
147 const size_t kMinimumCodeRangeSize = 4 * MB; | 154 const size_t kMinimumCodeRangeSize = 4 * MB; |
148 const size_t kReservedCodeRangePages = 1; | 155 const size_t kReservedCodeRangePages = 1; |
149 #else | 156 #else |
150 const size_t kMinimumCodeRangeSize = 3 * MB; | 157 const size_t kMinimumCodeRangeSize = 3 * MB; |
151 const size_t kReservedCodeRangePages = 0; | 158 const size_t kReservedCodeRangePages = 0; |
152 #endif | 159 #endif |
153 #else | 160 #else |
154 const int kPointerSizeLog2 = 2; | 161 const int kPointerSizeLog2 = 2; |
155 const intptr_t kIntptrSignBit = 0x80000000; | 162 const intptr_t kIntptrSignBit = 0x80000000; |
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
939 inline FunctionKind WithObjectLiteralBit(FunctionKind kind) { | 946 inline FunctionKind WithObjectLiteralBit(FunctionKind kind) { |
940 kind = static_cast<FunctionKind>(kind | FunctionKind::kInObjectLiteral); | 947 kind = static_cast<FunctionKind>(kind | FunctionKind::kInObjectLiteral); |
941 DCHECK(IsValidFunctionKind(kind)); | 948 DCHECK(IsValidFunctionKind(kind)); |
942 return kind; | 949 return kind; |
943 } | 950 } |
944 } } // namespace v8::internal | 951 } } // namespace v8::internal |
945 | 952 |
946 namespace i = v8::internal; | 953 namespace i = v8::internal; |
947 | 954 |
948 #endif // V8_GLOBALS_H_ | 955 #endif // V8_GLOBALS_H_ |
OLD | NEW |