< prev index next >

src/share/vm/gc/g1/g1CollectedHeap.cpp

Print this page
rev 12504 : 8171235: Move archive object code from G1MarkSweep into G1ArchiveAllocator
Reviewed-by:

*** 697,709 **** // Temporarily disable pretouching of heap pages. This interface is used // when mmap'ing archived heap data in, so pre-touching is wasted. FlagSetting fs(AlwaysPreTouch, false); ! // Enable archive object checking in G1MarkSweep. We have to let it know // about each archive range, so that objects in those ranges aren't marked. ! G1MarkSweep::enable_archive_object_check(); // For each specified MemRegion range, allocate the corresponding G1 // regions and mark them as archive regions. We expect the ranges in // ascending starting address order, without overlap. for (size_t i = 0; i < count; i++) { --- 697,709 ---- // Temporarily disable pretouching of heap pages. This interface is used // when mmap'ing archived heap data in, so pre-touching is wasted. FlagSetting fs(AlwaysPreTouch, false); ! // Enable archive object checking used by G1MarkSweep. We have to let it know // about each archive range, so that objects in those ranges aren't marked. ! G1ArchiveAllocator::enable_archive_object_check(); // For each specified MemRegion range, allocate the corresponding G1 // regions and mark them as archive regions. We expect the ranges in // ascending starting address order, without overlap. for (size_t i = 0; i < count; i++) {
*** 771,781 **** curr_region = NULL; } } // Notify mark-sweep of the archive range. ! G1MarkSweep::set_range_archive(curr_range, true); } return true; } void G1CollectedHeap::fill_archive_regions(MemRegion* ranges, size_t count) { --- 771,781 ---- curr_region = NULL; } } // Notify mark-sweep of the archive range. ! G1ArchiveAllocator::set_range_archive(curr_range, true); } return true; } void G1CollectedHeap::fill_archive_regions(MemRegion* ranges, size_t count) {
*** 922,932 **** _hrm.shrink_at(curr_index, 1); uncommitted_regions++; } // Notify mark-sweep that this is no longer an archive range. ! G1MarkSweep::set_range_archive(ranges[i], false); } if (uncommitted_regions != 0) { log_debug(gc, ergo, heap)("Attempt heap shrinking (uncommitted archive regions). Total size: " SIZE_FORMAT "B", HeapRegion::GrainWords * HeapWordSize * uncommitted_regions); --- 922,932 ---- _hrm.shrink_at(curr_index, 1); uncommitted_regions++; } // Notify mark-sweep that this is no longer an archive range. ! G1ArchiveAllocator::set_range_archive(ranges[i], false); } if (uncommitted_regions != 0) { log_debug(gc, ergo, heap)("Attempt heap shrinking (uncommitted archive regions). Total size: " SIZE_FORMAT "B", HeapRegion::GrainWords * HeapWordSize * uncommitted_regions);
< prev index next >