1.1 --- a/src/os/bsd/vm/os_bsd.cpp Mon Jun 10 10:45:19 2013 -0400 1.2 +++ b/src/os/bsd/vm/os_bsd.cpp Tue Jun 18 08:44:08 2013 -0400 1.3 @@ -2354,21 +2354,20 @@ 1.4 } 1.5 1.6 // The memory is committed 1.7 - address pc = CALLER_PC; 1.8 - MemTracker::record_virtual_memory_reserve((address)addr, bytes, pc); 1.9 - MemTracker::record_virtual_memory_commit((address)addr, bytes, pc); 1.10 + MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, mtNone, CALLER_PC); 1.11 1.12 return addr; 1.13 } 1.14 1.15 bool os::release_memory_special(char* base, size_t bytes) { 1.16 + MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker(); 1.17 // detaching the SHM segment will also delete it, see reserve_memory_special() 1.18 int rslt = shmdt(base); 1.19 if (rslt == 0) { 1.20 - MemTracker::record_virtual_memory_uncommit((address)base, bytes); 1.21 - MemTracker::record_virtual_memory_release((address)base, bytes); 1.22 + tkr.record((address)base, bytes); 1.23 return true; 1.24 } else { 1.25 + tkr.discard(); 1.26 return false; 1.27 } 1.28