| Index: src/platform-linux.cc
|
| ===================================================================
|
| --- src/platform-linux.cc (revision 10578)
|
| +++ src/platform-linux.cc (working copy)
|
| @@ -596,12 +596,14 @@
|
| }
|
|
|
|
|
| -VirtualMemory::VirtualMemory(size_t size, size_t alignment)
|
| +VirtualMemory::VirtualMemory(size_t size, size_t alignment, intptr_t preferred)
|
| : address_(NULL), size_(0) {
|
| ASSERT(IsAligned(alignment, static_cast<intptr_t>(OS::AllocateAlignment())));
|
| size_t request_size = RoundUp(size + alignment,
|
| static_cast<intptr_t>(OS::AllocateAlignment()));
|
| - void* reservation = mmap(OS::GetRandomMmapAddr(),
|
| + void* reservation = mmap(preferred == 0 ?
|
| + OS::GetRandomMmapAddr() :
|
| + reinterpret_cast<void*>(preferred),
|
| request_size,
|
| PROT_NONE,
|
| MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE,
|
|
|