Mercurial > hg > graal-jvmci-8
comparison src/share/vm/services/memRecorder.cpp @ 6882:716c64bda5ba
7199092: NMT: NMT needs to deal overlapped virtual memory ranges
Summary: Enhanced virtual memory tracking to track committed regions as well as reserved regions, so NMT now can generate virtual memory map.
Reviewed-by: acorn, coleenp
author | zgu |
---|---|
date | Fri, 19 Oct 2012 21:40:07 -0400 |
parents | 7e5976e66c62 |
children | ecd24264898b |
comparison
equal
deleted
inserted
replaced
6879:8ebcedb7604d | 6882:716c64bda5ba |
---|---|
29 #include "services/memRecorder.hpp" | 29 #include "services/memRecorder.hpp" |
30 #include "services/memPtr.hpp" | 30 #include "services/memPtr.hpp" |
31 #include "services/memTracker.hpp" | 31 #include "services/memTracker.hpp" |
32 | 32 |
33 MemPointer* SequencedRecordIterator::next_record() { | 33 MemPointer* SequencedRecordIterator::next_record() { |
34 MemPointer* itr_cur = _itr.current(); | 34 MemPointerRecord* itr_cur = (MemPointerRecord*)_itr.current(); |
35 if (itr_cur == NULL) return NULL; | 35 if (itr_cur == NULL) { |
36 MemPointer* itr_next = _itr.next(); | 36 return itr_cur; |
37 } | |
37 | 38 |
38 while (itr_next != NULL && | 39 MemPointerRecord* itr_next = (MemPointerRecord*)_itr.next(); |
39 same_kind((MemPointerRecord*)itr_cur, (MemPointerRecord*)itr_next)) { | 40 |
41 // don't collapse virtual memory records | |
42 while (itr_next != NULL && !itr_cur->is_vm_pointer() && | |
43 !itr_next->is_vm_pointer() && | |
44 same_kind(itr_cur, itr_next)) { | |
40 itr_cur = itr_next; | 45 itr_cur = itr_next; |
41 itr_next = _itr.next(); | 46 itr_next = (MemPointerRecord*)_itr.next(); |
42 } | 47 } |
43 | 48 |
44 return itr_cur; | 49 return itr_cur; |
45 } | 50 } |
46 | 51 |