Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp @ 1390:f9ec1e4bbb44
6939027: G1: assertion failure during the concurrent phase of cleanup
Summary: The outgoing region map is not maintained properly and it's causing an assert failure. Given that we don't actually use it, I'm removing it. I'm piggy-backing a small change on this which removes a message that it's printed before a Full GC when DisableExplicitGC is set.
Reviewed-by: apetrusenko, ysr
author | tonyp |
---|---|
date | Thu, 15 Apr 2010 18:45:30 -0400 |
parents | 0414c1049f15 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1389:5dbd9300cf9c | 1390:f9ec1e4bbb44 |
---|---|
177 G1BlockOffsetSharedArray* _bosa; | 177 G1BlockOffsetSharedArray* _bosa; |
178 G1BlockOffsetSharedArray* bosa() const { return _bosa; } | 178 G1BlockOffsetSharedArray* bosa() const { return _bosa; } |
179 | 179 |
180 OtherRegionsTable _other_regions; | 180 OtherRegionsTable _other_regions; |
181 | 181 |
182 // One set bit for every region that has an entry for this one. | |
183 BitMap _outgoing_region_map; | |
184 | |
185 // Clear entries for the current region in any rem sets named in | |
186 // the _outgoing_region_map. | |
187 void clear_outgoing_entries(); | |
188 | |
189 enum ParIterState { Unclaimed, Claimed, Complete }; | 182 enum ParIterState { Unclaimed, Claimed, Complete }; |
190 volatile ParIterState _iter_state; | 183 volatile ParIterState _iter_state; |
191 volatile jlong _iter_claimed; | 184 volatile jlong _iter_claimed; |
192 | 185 |
193 // Unused unless G1RecordHRRSOops is true. | 186 // Unused unless G1RecordHRRSOops is true. |
240 /* Used in the parallel case. Returns "true" iff this addition causes | 233 /* Used in the parallel case. Returns "true" iff this addition causes |
241 the size limit to be reached. */ | 234 the size limit to be reached. */ |
242 void add_reference(OopOrNarrowOopStar from, int tid) { | 235 void add_reference(OopOrNarrowOopStar from, int tid) { |
243 _other_regions.add_reference(from, tid); | 236 _other_regions.add_reference(from, tid); |
244 } | 237 } |
245 | |
246 // Records the fact that the current region contains an outgoing | |
247 // reference into "to_hr". | |
248 void add_outgoing_reference(HeapRegion* to_hr); | |
249 | 238 |
250 // Removes any entries shown by the given bitmaps to contain only dead | 239 // Removes any entries shown by the given bitmaps to contain only dead |
251 // objects. | 240 // objects. |
252 void scrub(CardTableModRefBS* ctbs, BitMap* region_bm, BitMap* card_bm); | 241 void scrub(CardTableModRefBS* ctbs, BitMap* region_bm, BitMap* card_bm); |
253 | 242 |