8284995: G1: Do not mark through Closed Archive regions during concurrent mark
Reviewed-by: iwalulya, ayang
This commit is contained in:
parent
165f516101
commit
82f0ac02e0
@ -1898,6 +1898,7 @@ G1ConcurrentMark::claim_region(uint worker_id) {
|
|||||||
assert(_finger >= end, "the finger should have moved forward");
|
assert(_finger >= end, "the finger should have moved forward");
|
||||||
|
|
||||||
if (limit > bottom) {
|
if (limit > bottom) {
|
||||||
|
assert(!curr_region->is_closed_archive(), "CA regions should be skipped");
|
||||||
return curr_region;
|
return curr_region;
|
||||||
} else {
|
} else {
|
||||||
assert(limit == bottom,
|
assert(limit == bottom,
|
||||||
|
@ -242,7 +242,10 @@ inline void HeapRegion::update_bot_for_obj(HeapWord* obj_start, size_t obj_size)
|
|||||||
|
|
||||||
inline void HeapRegion::note_start_of_marking() {
|
inline void HeapRegion::note_start_of_marking() {
|
||||||
_next_marked_bytes = 0;
|
_next_marked_bytes = 0;
|
||||||
|
if (!is_closed_archive()) {
|
||||||
_next_top_at_mark_start = top();
|
_next_top_at_mark_start = top();
|
||||||
|
}
|
||||||
|
assert(!is_closed_archive() || next_top_at_mark_start() == bottom(), "CA region's nTAMS must always be at bottom");
|
||||||
_gc_efficiency = -1.0;
|
_gc_efficiency = -1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user