hotspot/src/share/vm/services/memRecorder.cpp
changeset 13300 38485c548c9f
parent 13195 be27e1b6a4b9
child 14120 7d298141c258
equal deleted inserted replaced
13199:025b0984feea 13300:38485c548c9f
    43 
    43 
    44   return itr_cur;
    44   return itr_cur;
    45 }
    45 }
    46 
    46 
    47 
    47 
    48 debug_only(volatile jint MemRecorder::_instance_count = 0;)
    48 volatile jint MemRecorder::_instance_count = 0;
    49 
    49 
    50 MemRecorder::MemRecorder() {
    50 MemRecorder::MemRecorder() {
    51   assert(MemTracker::is_on(), "Native memory tracking is off");
    51   assert(MemTracker::is_on(), "Native memory tracking is off");
    52   debug_only(Atomic::inc(&_instance_count);)
    52   Atomic::inc(&_instance_count);
    53   debug_only(set_generation();)
    53   debug_only(set_generation();)
    54 
    54 
    55   if (MemTracker::track_callsite()) {
    55   if (MemTracker::track_callsite()) {
    56     _pointer_records = new (std::nothrow)FixedSizeMemPointerArray<SeqMemPointerRecordEx,
    56     _pointer_records = new (std::nothrow)FixedSizeMemPointerArray<SeqMemPointerRecordEx,
    57         DEFAULT_RECORDER_PTR_ARRAY_SIZE>();
    57         DEFAULT_RECORDER_PTR_ARRAY_SIZE>();
    81   }
    81   }
    82   if (_next != NULL) {
    82   if (_next != NULL) {
    83     delete _next;
    83     delete _next;
    84   }
    84   }
    85 
    85 
    86 #ifdef ASSERT
       
    87   Atomic::dec(&_instance_count);
    86   Atomic::dec(&_instance_count);
    88 #endif
       
    89 }
    87 }
    90 
    88 
    91 // Sorting order:
    89 // Sorting order:
    92 //   1. memory block address
    90 //   1. memory block address
    93 //   2. mem pointer record tags
    91 //   2. mem pointer record tags