src/hotspot/share/runtime/os.cpp
changeset 58927 d8aced36e872
parent 58481 48a73ec3a817
child 59249 29b0d0b61615
equal deleted inserted replaced
58926:ecb801342b8c 58927:d8aced36e872
   753 
   753 
   754 #ifndef ASSERT
   754 #ifndef ASSERT
   755   NOT_PRODUCT(inc_stat_counter(&num_mallocs, 1));
   755   NOT_PRODUCT(inc_stat_counter(&num_mallocs, 1));
   756   NOT_PRODUCT(inc_stat_counter(&alloc_bytes, size));
   756   NOT_PRODUCT(inc_stat_counter(&alloc_bytes, size));
   757    // NMT support
   757    // NMT support
   758   void* membase = MemTracker::record_free(memblock);
       
   759   NMT_TrackingLevel level = MemTracker::tracking_level();
   758   NMT_TrackingLevel level = MemTracker::tracking_level();
       
   759   void* membase = MemTracker::record_free(memblock, level);
   760   size_t  nmt_header_size = MemTracker::malloc_header_size(level);
   760   size_t  nmt_header_size = MemTracker::malloc_header_size(level);
   761   void* ptr = ::realloc(membase, size + nmt_header_size);
   761   void* ptr = ::realloc(membase, size + nmt_header_size);
   762   return MemTracker::record_malloc(ptr, size, memflags, stack, level);
   762   return MemTracker::record_malloc(ptr, size, memflags, stack, level);
   763 #else
   763 #else
   764   if (memblock == NULL) {
   764   if (memblock == NULL) {
   795   if (memblock == NULL) return;
   795   if (memblock == NULL) return;
   796   if ((intptr_t)memblock == (intptr_t)MallocCatchPtr) {
   796   if ((intptr_t)memblock == (intptr_t)MallocCatchPtr) {
   797     log_warning(malloc, free)("os::free caught " PTR_FORMAT, p2i(memblock));
   797     log_warning(malloc, free)("os::free caught " PTR_FORMAT, p2i(memblock));
   798     breakpoint();
   798     breakpoint();
   799   }
   799   }
   800   void* membase = MemTracker::record_free(memblock);
   800   void* membase = MemTracker::record_free(memblock, MemTracker::tracking_level());
   801   verify_memory(membase);
   801   verify_memory(membase);
   802 
   802 
   803   GuardedMemory guarded(membase);
   803   GuardedMemory guarded(membase);
   804   size_t size = guarded.get_user_size();
   804   size_t size = guarded.get_user_size();
   805   inc_stat_counter(&free_bytes, size);
   805   inc_stat_counter(&free_bytes, size);
   806   membase = guarded.release_for_freeing();
   806   membase = guarded.release_for_freeing();
   807   ::free(membase);
   807   ::free(membase);
   808 #else
   808 #else
   809   void* membase = MemTracker::record_free(memblock);
   809   void* membase = MemTracker::record_free(memblock, MemTracker::tracking_level());
   810   ::free(membase);
   810   ::free(membase);
   811 #endif
   811 #endif
   812 }
   812 }
   813 
   813 
   814 void os::init_random(unsigned int initval) {
   814 void os::init_random(unsigned int initval) {