comparison src/share/vm/services/memTrackWorker.cpp @ 6741:33143ee07800

7181995: NMT ON: NMT assertion failure assert(cur_vm->is_uncommit_record() || cur_vm->is_deallocation_record Summary: Fixed virtual memory records merge and promotion logic, should be based on sequence number vs. base address order Reviewed-by: coleenp, acorn
author zgu
date Tue, 11 Sep 2012 20:53:17 -0400
parents 4acebbe310e1
children ecd24264898b
comparison
equal deleted inserted replaced
6730:5d2156bcb78b 6741:33143ee07800
116 } 116 }
117 // done with this generation, increment _head pointer 117 // done with this generation, increment _head pointer
118 _head = (_head + 1) % MAX_GENERATIONS; 118 _head = (_head + 1) % MAX_GENERATIONS;
119 } 119 }
120 // promote this generation data to snapshot 120 // promote this generation data to snapshot
121 snapshot->promote(); 121 if (!snapshot->promote()) {
122 // failed to promote, means out of memory
123 MemTracker::shutdown(MemTracker::NMT_out_of_memory);
124 }
122 } else { 125 } else {
123 snapshot->wait(1000); 126 snapshot->wait(1000);
124 ThreadCritical tc; 127 ThreadCritical tc;
125 // check if more data arrived 128 // check if more data arrived
126 if (_gen[_head] == NULL) { 129 if (_gen[_head] == NULL) {