< prev index next >
src/hotspot/share/runtime/os.cpp
Print this page
*** 1745,1777 ****
os::pd_commit_memory_or_exit(addr, size, alignment_hint, executable, mesg);
MemTracker::record_virtual_memory_commit((address)addr, size, CALLER_PC);
}
bool os::uncommit_memory(char* addr, size_t bytes) {
! bool res;
! if (MemTracker::tracking_level() > NMT_minimal) {
! Tracker tkr = MemTracker::get_virtual_memory_uncommit_tracker();
! res = pd_uncommit_memory(addr, bytes);
if (res) {
! tkr.record((address)addr, bytes);
! }
! } else {
! res = pd_uncommit_memory(addr, bytes);
}
return res;
}
bool os::release_memory(char* addr, size_t bytes) {
! bool res;
! if (MemTracker::tracking_level() > NMT_minimal) {
! Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
! res = pd_release_memory(addr, bytes);
if (res) {
! tkr.record((address)addr, bytes);
! }
! } else {
! res = pd_release_memory(addr, bytes);
}
return res;
}
void os::pretouch_memory(void* start, void* end, size_t page_size) {
--- 1745,1765 ----
os::pd_commit_memory_or_exit(addr, size, alignment_hint, executable, mesg);
MemTracker::record_virtual_memory_commit((address)addr, size, CALLER_PC);
}
bool os::uncommit_memory(char* addr, size_t bytes) {
! bool res = pd_uncommit_memory(addr, bytes);
if (res) {
! MemTracker::record_virtual_memory_uncommit(addr, bytes);
}
return res;
}
bool os::release_memory(char* addr, size_t bytes) {
! bool res = pd_release_memory(addr, bytes);
if (res) {
! MemTracker::record_virtual_memory_release(addr, bytes);
}
return res;
}
void os::pretouch_memory(void* start, void* end, size_t page_size) {
*** 1796,1816 ****
return pd_remap_memory(fd, file_name, file_offset, addr, bytes,
read_only, allow_exec);
}
bool os::unmap_memory(char *addr, size_t bytes) {
! bool result;
! if (MemTracker::tracking_level() > NMT_minimal) {
! Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
! result = pd_unmap_memory(addr, bytes);
! if (result) {
! tkr.record((address)addr, bytes);
! }
! } else {
! result = pd_unmap_memory(addr, bytes);
}
! return result;
}
void os::free_memory(char *addr, size_t bytes, size_t alignment_hint) {
pd_free_memory(addr, bytes, alignment_hint);
}
--- 1784,1798 ----
return pd_remap_memory(fd, file_name, file_offset, addr, bytes,
read_only, allow_exec);
}
bool os::unmap_memory(char *addr, size_t bytes) {
! bool res = pd_unmap_memory(addr, bytes);
! if (res) {
! MemTracker::record_virtual_memory_release(addr, bytes);
}
! return res;
}
void os::free_memory(char *addr, size_t bytes, size_t alignment_hint) {
pd_free_memory(addr, bytes, alignment_hint);
}
< prev index next >