src/os/bsd/vm/os_bsd.cpp

changeset 5272
1f4355cee9a2
parent 5255
a837fa3d3f86
child 5365
59b052799158
child 6443
f4f6ae481e1a
     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  

mercurial