src/os/bsd/vm/os_bsd.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/os/bsd/vm/os_bsd.cpp	Tue Jun  4 09:59:16 2013
--- new/src/os/bsd/vm/os_bsd.cpp	Tue Jun  4 09:59:15 2013

*** 2260,2284 **** --- 2260,2283 ---- } return NULL; } // The memory is committed ! address pc = CALLER_PC; MemTracker::record_virtual_memory_reserve((address)addr, bytes, pc); MemTracker::record_virtual_memory_commit((address)addr, bytes, pc); ! MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, mtNone, CALLER_PC); return addr; } bool os::release_memory_special(char* base, size_t bytes) { + MemTracker::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) { ! MemTracker::record_virtual_memory_uncommit((address)base, bytes); MemTracker::record_virtual_memory_release((address)base, bytes); ! tkr.record((address)base, bytes); return true; } else { + tkr.discard(); return false; } }

src/os/bsd/vm/os_bsd.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File