< prev index next >
src/hotspot/os/bsd/os_bsd.cpp
Print this page
@@ -2318,23 +2318,15 @@
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;
+ 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 >