comparison src/share/vm/services/memRecorder.cpp @ 7971:4102b59539ce

8005012: Add WB APIs to better support NMT testing Summary: Add WB API functions to enable better NMT testing Reviewed-by: dholmes, zgu
author ctornqvi
date Fri, 01 Feb 2013 23:48:08 +0100
parents ecd24264898b
children 1f4355cee9a2
comparison
equal deleted inserted replaced
7962:4c75576d18d0 7971:4102b59539ce
53 volatile jint MemRecorder::_instance_count = 0; 53 volatile jint MemRecorder::_instance_count = 0;
54 54
55 MemRecorder::MemRecorder() { 55 MemRecorder::MemRecorder() {
56 assert(MemTracker::is_on(), "Native memory tracking is off"); 56 assert(MemTracker::is_on(), "Native memory tracking is off");
57 Atomic::inc(&_instance_count); 57 Atomic::inc(&_instance_count);
58 debug_only(set_generation();) 58 set_generation();
59 59
60 if (MemTracker::track_callsite()) { 60 if (MemTracker::track_callsite()) {
61 _pointer_records = new (std::nothrow)FixedSizeMemPointerArray<SeqMemPointerRecordEx, 61 _pointer_records = new (std::nothrow)FixedSizeMemPointerArray<SeqMemPointerRecordEx,
62 DEFAULT_RECORDER_PTR_ARRAY_SIZE>(); 62 DEFAULT_RECORDER_PTR_ARRAY_SIZE>();
63 } else { 63 } else {
149 _pointer_records->sort((FN_SORT)sort_record_fn); 149 _pointer_records->sort((FN_SORT)sort_record_fn);
150 return SequencedRecordIterator(_pointer_records); 150 return SequencedRecordIterator(_pointer_records);
151 } 151 }
152 152
153 153
154 #ifdef ASSERT
155 void MemRecorder::set_generation() { 154 void MemRecorder::set_generation() {
156 _generation = SequenceGenerator::current_generation(); 155 _generation = SequenceGenerator::current_generation();
157 } 156 }
157
158 #ifdef ASSERT
158 159
159 void MemRecorder::check_dup_seq(jint seq) const { 160 void MemRecorder::check_dup_seq(jint seq) const {
160 MemPointerArrayIteratorImpl itr(_pointer_records); 161 MemPointerArrayIteratorImpl itr(_pointer_records);
161 MemPointerRecord* rc = (MemPointerRecord*)itr.current(); 162 MemPointerRecord* rc = (MemPointerRecord*)itr.current();
162 while (rc != NULL) { 163 while (rc != NULL) {