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