提交 e9b2f65a 编写于 作者: I iveresov

6815683: G1: SEGV during marking

Summary: We should mark the regions that continue humongous regions as live if the first region is live.
Reviewed-by: tonyp
上级 d57f2ccc
......@@ -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();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册