< 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 >