MIPS64: Extend random address range in OS::GetRandomMmapAddr

MIPS64 is a 64-bit platform and each user space process can
address 2^42 bytes of memory. This fixes the current behavior
when the address range was limited to 2^30, which is the
default value taken for 32-bit platforms.

Change-Id: I310e16631a4dfaf77416e278ddf4386f3e258cc3
Reviewed-on: https://chromium-review.googlesource.com/c/1304197
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#57112}
This commit is contained in:
Ivica Bogosavljevic 2018-10-29 11:59:35 +01:00 committed by Commit Bot
parent 374dc59116
commit b589315def

View File

@ -237,6 +237,10 @@ void* OS::GetRandomMmapAddr() {
// 31 bits of virtual addressing. Truncate to 29 bits to allow kernel chance // 31 bits of virtual addressing. Truncate to 29 bits to allow kernel chance
// to fulfill request. // to fulfill request.
raw_addr &= 0x1FFFF000; raw_addr &= 0x1FFFF000;
#elif V8_TARGET_ARCH_MIPS64
// 42 bits of virtual addressing. Truncate to 40 bits to allow kernel chance
// to fulfill request.
raw_addr &= uint64_t{0xFFFFFF0000};
#else #else
raw_addr &= 0x3FFFF000; raw_addr &= 0x3FFFF000;