6815683: G1: SEGV during marking
We should mark the regions that continue humongous regions as live if the first region is live. Reviewed-by: tonyp
This commit is contained in:
parent
217739210d
commit
736e8a2d4b
@ -1232,7 +1232,16 @@ public:
|
||||
if (!_final && _regions_done == 0)
|
||||
_start_vtime_sec = os::elapsedVTime();
|
||||
|
||||
if (hr->continuesHumongous()) return false;
|
||||
if (hr->continuesHumongous()) {
|
||||
HeapRegion* hum_start = hr->humongous_start_region();
|
||||
// If the head region of the humongous region has been determined
|
||||
// to be alive, then all the tail regions should be marked
|
||||
// such as well.
|
||||
if (_region_bm->at(hum_start->hrs_index())) {
|
||||
_region_bm->par_at_put(hr->hrs_index(), 1);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
HeapWord* nextTop = hr->next_top_at_mark_start();
|
||||
HeapWord* start = hr->top_at_conc_mark_count();
|
||||
|
Loading…
Reference in New Issue
Block a user