src/share/vm/services/memRecorder.cpp

changeset 3935
7e5976e66c62
parent 3900
d2a62e0f25eb
child 4193
716c64bda5ba
equal deleted inserted replaced
3904:ace99a6ffc83 3935:7e5976e66c62
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

mercurial