< prev index next >
src/os/aix/vm/os_aix.cpp
Print this page
@@ -2509,22 +2509,22 @@
return false;
}
// 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.
bytes = align_size_up(bytes, os::vm_page_size());
// In 4K mode always use mmap.
// In 64K mode allocate small sizes with mmap, large ones with 64K shmatted.
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);
}
}
< prev index next >