< prev index next >
src/share/vm/runtime/os.cpp
Print this page
*** 1626,1640 ****
bool os::create_stack_guard_pages(char* addr, size_t bytes) {
return os::pd_create_stack_guard_pages(addr, bytes);
}
! char* os::reserve_memory(size_t bytes, char* addr, size_t alignment_hint) {
! char* result = pd_reserve_memory(bytes, addr, alignment_hint);
if (result != NULL) {
MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
}
return result;
}
char* os::reserve_memory(size_t bytes, char* addr, size_t alignment_hint,
--- 1626,1653 ----
bool os::create_stack_guard_pages(char* addr, size_t bytes) {
return os::pd_create_stack_guard_pages(addr, bytes);
}
! char* os::reserve_memory(size_t bytes, char* addr, size_t alignment_hint, int file_desc) {
!
! char* result = NULL;
!
! if (file_desc != -1) {
! // Do your own memory mapping instead of doing
! // pd_reserve_memory() followed by replace_existing_mapping_with_dax_file_mapping(), because AIX might use SHM
! result = os::map_memory_to_dax_file(addr, bytes, file_desc);
! if (result != NULL) {
! MemTracker::record_virtual_memory_reserve_and_commit((address)result, bytes, CALLER_PC);
! }
! }
! else {
! result = pd_reserve_memory(bytes, addr, alignment_hint);
if (result != NULL) {
MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
}
+ }
return result;
}
char* os::reserve_memory(size_t bytes, char* addr, size_t alignment_hint,
*** 1646,1663 ****
}
return result;
}
- char* os::attempt_reserve_memory_at(size_t bytes, char* addr) {
- char* result = pd_attempt_reserve_memory_at(bytes, addr);
- if (result != NULL) {
- MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
- }
- return result;
- }
-
void os::split_reserved_memory(char *base, size_t size,
size_t split, bool realloc) {
pd_split_reserved_memory(base, size, split, realloc);
}
--- 1659,1668 ----
< prev index next >