set_max_available_threads(i::Max(i::Min(number_of_processors, 4u), 1u));
- if (virtual_memory_limit > 0 && i::kIs64BitArch) {
+ if (virtual_memory_limit > 0 && i::kRequiresCodeRange) {
// Reserve no more than 1/8 of the memory for the code range, but at most
- // 512 MB.
+ // kMaximalCodeRangeSize.
set_code_range_size(
- i::Min(512, static_cast<int>((virtual_memory_limit >> 3) / i::MB)));
+ i::Min(i::kMaximalCodeRangeSize / i::MB,
+ static_cast<int>((virtual_memory_limit >> 3) / i::MB)));
}
}
const int kPointerSizeLog2 = 3;
const intptr_t kIntptrSignBit = V8_INT64_C(0x8000000000000000);
const uintptr_t kUintptrAllBitsSet = V8_UINT64_C(0xFFFFFFFFFFFFFFFF);
-const bool kIs64BitArch = true;
+const bool kRequiresCodeRange = true;
+const int kMaximalCodeRangeSize = 512 * MB;
#else
const int kPointerSizeLog2 = 2;
const intptr_t kIntptrSignBit = 0x80000000;
const uintptr_t kUintptrAllBitsSet = 0xFFFFFFFFu;
-const bool kIs64BitArch = false;
+const bool kRequiresCodeRange = false;
+const int kMaximalCodeRangeSize = 0 * MB;
#endif
const int kBitsPerByte = 8;
ASSERT(code_range_ == NULL);
if (requested == 0) {
- // On 64-bit platform(s), we put all code objects in a 512 MB range of
- // virtual address space, so that they can call each other with near calls.
- if (kIs64BitArch) {
- requested = 512 * MB;
+ // When a target requires the code range feature, we put all code objects
+ // in a kMaximalCodeRangeSize range of virtual address space, so that
+ // they can call each other with near calls.
+ if (kRequiresCodeRange) {
+ requested = kMaximalCodeRangeSize;
} else {
return true;
}
}
+ ASSERT(requested <= kMaximalCodeRangeSize);
code_range_ = new VirtualMemory(requested);
CHECK(code_range_ != NULL);
if (!code_range_->IsReserved()) {