Mercurial > hg > graal-compiler
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) { |