src/share/vm/services/mallocTracker.cpp

changeset 7344
787c9c28311f
parent 7267
417e3b8d04c5
child 9053
da59531e1fdf
     1.1 --- a/src/share/vm/services/mallocTracker.cpp	Tue Nov 11 10:46:07 2014 -0800
     1.2 +++ b/src/share/vm/services/mallocTracker.cpp	Tue Nov 11 10:48:06 2014 -0800
     1.3 @@ -72,7 +72,7 @@
     1.4  
     1.5    MallocMemorySummary::record_free(size(), flags());
     1.6    MallocMemorySummary::record_free_malloc_header(sizeof(MallocHeader));
     1.7 -  if (tracking_level() == NMT_detail) {
     1.8 +  if (MemTracker::tracking_level() == NMT_detail) {
     1.9      MallocSiteTable::deallocation_at(size(), _bucket_idx, _pos_idx);
    1.10    }
    1.11  }
    1.12 @@ -128,36 +128,18 @@
    1.13    }
    1.14  
    1.15    // Uses placement global new operator to initialize malloc header
    1.16 -  switch(level) {
    1.17 -    case NMT_off:
    1.18 -      return malloc_base;
    1.19 -    case NMT_minimal: {
    1.20 -      MallocHeader* hdr = ::new (malloc_base) MallocHeader();
    1.21 -      break;
    1.22 -    }
    1.23 -    case NMT_summary: {
    1.24 -      assert(size <= MAX_MALLOC_SIZE, "malloc size overrun for NMT");
    1.25 -      header = ::new (malloc_base) MallocHeader(size, flags);
    1.26 -      break;
    1.27 -    }
    1.28 -    case NMT_detail: {
    1.29 -      assert(size <= MAX_MALLOC_SIZE, "malloc size overrun for NMT");
    1.30 -      header = ::new (malloc_base) MallocHeader(size, flags, stack);
    1.31 -      break;
    1.32 -    }
    1.33 -    default:
    1.34 -      ShouldNotReachHere();
    1.35 +
    1.36 +  if (level == NMT_off) {
    1.37 +    return malloc_base;
    1.38    }
    1.39 +
    1.40 +  header = ::new (malloc_base)MallocHeader(size, flags, stack, level);
    1.41    memblock = (void*)((char*)malloc_base + sizeof(MallocHeader));
    1.42  
    1.43    // The alignment check: 8 bytes alignment for 32 bit systems.
    1.44    //                      16 bytes alignment for 64-bit systems.
    1.45    assert(((size_t)memblock & (sizeof(size_t) * 2 - 1)) == 0, "Alignment check");
    1.46  
    1.47 -  // Sanity check
    1.48 -  assert(get_memory_tracking_level(memblock) == level,
    1.49 -    "Wrong tracking level");
    1.50 -
    1.51  #ifdef ASSERT
    1.52    if (level > NMT_minimal) {
    1.53      // Read back

mercurial