7039627: G1: avoid BOT updates for survivor allocations and dirty survivor regions incrementally

Refactor the allocation code during GC to use the G1AllocRegion abstraction. Use separate subclasses of G1AllocRegion for survivor and old regions. Avoid BOT updates and dirty survivor cards incrementally for the former.

Reviewed-by: brutisso, johnc, ysr
This commit is contained in:
Antonios Printezis 2011-08-12 11:31:06 -04:00
parent 0da9dc64d2
commit f482091133
10 changed files with 311 additions and 672 deletions

View file

@ -364,7 +364,10 @@ public:
PosParPRT** next_addr() { return &_next; }
bool should_expand(int tid) {
return par_tables() == NULL && tid > 0 && hr()->is_gc_alloc_region();
// Given that we now defer RSet updates for after a GC we don't
// really need to expand the tables any more. This code should be
// cleaned up in the future (see CR 6921087).
return false;
}
void par_expand() {