Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @ 3830:f44782f04dd4
7039627: G1: avoid BOT updates for survivor allocations and dirty survivor regions incrementally
Summary: 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
author | tonyp |
---|---|
date | Fri, 12 Aug 2011 11:31:06 -0400 |
parents | e8b0b0392037 |
children | 65a8ff39a6da |
comparison
equal
deleted
inserted
replaced
3829:87e40b34bc2b | 3830:f44782f04dd4 |
---|---|
362 PosParPRT* next() const { return _next; } | 362 PosParPRT* next() const { return _next; } |
363 void set_next(PosParPRT* nxt) { _next = nxt; } | 363 void set_next(PosParPRT* nxt) { _next = nxt; } |
364 PosParPRT** next_addr() { return &_next; } | 364 PosParPRT** next_addr() { return &_next; } |
365 | 365 |
366 bool should_expand(int tid) { | 366 bool should_expand(int tid) { |
367 return par_tables() == NULL && tid > 0 && hr()->is_gc_alloc_region(); | 367 // Given that we now defer RSet updates for after a GC we don't |
368 // really need to expand the tables any more. This code should be | |
369 // cleaned up in the future (see CR 6921087). | |
370 return false; | |
368 } | 371 } |
369 | 372 |
370 void par_expand() { | 373 void par_expand() { |
371 int n = HeapRegionRemSet::num_par_rem_sets()-1; | 374 int n = HeapRegionRemSet::num_par_rem_sets()-1; |
372 if (n <= 0) return; | 375 if (n <= 0) return; |