< prev index next >
src/hotspot/os/bsd/os_bsd.cpp
Print this page
*** 2318,2340 ****
return addr;
}
bool os::release_memory_special(char* base, size_t bytes) {
! if (MemTracker::tracking_level() > NMT_minimal) {
! Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
! // detaching the SHM segment will also delete it, see reserve_memory_special()
! int rslt = shmdt(base);
! if (rslt == 0) {
! tkr.record((address)base, bytes);
! return true;
! } else {
! return false;
! }
! } else {
! return shmdt(base) == 0;
}
}
size_t os::large_page_size() {
return _large_page_size;
}
--- 2318,2332 ----
return addr;
}
bool os::release_memory_special(char* base, size_t bytes) {
! bool res = shmdt(base) == 0;
! if (res) {
! MemTracker::record_virtual_memory_release(base, bytes);
}
+ return res;
}
size_t os::large_page_size() {
return _large_page_size;
}
< prev index next >