hotspot/src/share/vm/services/memRecorder.cpp
changeset 14120 7d298141c258
parent 13300 38485c548c9f
child 15104 f5d78994619f
equal deleted inserted replaced
14117:6e2e697e310f 14120:7d298141c258
    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