8042668: GC Support for shared heap ranges in CDS

Added "Archive Region" support to the G1 GC

Reviewed-by: tschatzl, brutisso
This commit is contained in:
Tom Benson 2015-06-12 19:49:54 -04:00 committed by Jiangli Zhou
parent edcd4cb94b
commit df2efa1c37
24 changed files with 786 additions and 51 deletions

View file

@ -103,6 +103,10 @@ size_t HeapRegion::max_region_size() {
return HeapRegionBounds::max_size();
}
size_t HeapRegion::min_region_size_in_words() {
return HeapRegionBounds::min_size() >> LogHeapWordSize;
}
void HeapRegion::setup_heap_region_size(size_t initial_heap_size, size_t max_heap_size) {
size_t region_size = G1HeapRegionSize;
if (FLAG_IS_DEFAULT(G1HeapRegionSize)) {
@ -716,7 +720,7 @@ public:
HeapRegion* to = _g1h->heap_region_containing(obj);
if (from != NULL && to != NULL &&
from != to &&
!to->is_humongous()) {
!to->is_pinned()) {
jbyte cv_obj = *_bs->byte_for_const(_containing_obj);
jbyte cv_field = *_bs->byte_for_const(p);
const jbyte dirty = CardTableModRefBS::dirty_card_val();