--- old/src/os/aix/vm/os_aix.cpp 2017-07-20 17:44:46.056829900 -0700 +++ new/src/os/aix/vm/os_aix.cpp 2017-07-20 17:44:45.651932200 -0700 @@ -2511,7 +2511,7 @@ // Reserve memory at an arbitrary address, only if that area is // available (and not reserved for something else). -char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) { +char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, bool use_SHM) { char* addr = NULL; // Always round to os::vm_page_size(), which may be larger than 4K. @@ -2522,7 +2522,7 @@ if (os::vm_page_size() == 4*K) { return reserve_mmaped_memory(bytes, requested_addr, 0); } else { - if (bytes >= Use64KPagesThreshold) { + if (use_SHM && bytes >= Use64KPagesThreshold) { return reserve_shmated_memory(bytes, requested_addr, 0); } else { return reserve_mmaped_memory(bytes, requested_addr, 0);