8195142: Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy

Reviewed-by: stefank, coleenp, kvn, ehelin
This commit is contained in:
Erik Österlund 2018-02-26 09:34:12 +01:00
parent b9bc9f0be8
commit 95d34d138d
104 changed files with 2012 additions and 1797 deletions

View file

@ -1017,12 +1017,12 @@ void PSParallelCompact::post_compact()
bool young_gen_empty = eden_empty && from_space->is_empty() &&
to_space->is_empty();
ModRefBarrierSet* modBS = barrier_set_cast<ModRefBarrierSet>(heap->barrier_set());
PSCardTable* ct = heap->card_table();
MemRegion old_mr = heap->old_gen()->reserved();
if (young_gen_empty) {
modBS->clear(MemRegion(old_mr.start(), old_mr.end()));
ct->clear(MemRegion(old_mr.start(), old_mr.end()));
} else {
modBS->invalidate(MemRegion(old_mr.start(), old_mr.end()));
ct->invalidate(MemRegion(old_mr.start(), old_mr.end()));
}
// Delete metaspaces for unloaded class loaders and clean up loader_data graph