8274927: Remove unnecessary G1ArchiveAllocator code

Reviewed-by: kbarrett, ayang
This commit is contained in:
Thomas Schatzl 2021-10-11 11:46:46 +00:00
parent c55dd365e3
commit aaf2401bc7
3 changed files with 10 additions and 36 deletions

View File

@ -475,7 +475,6 @@ HeapWord* G1ArchiveAllocator::archive_mem_allocate(size_t word_size) {
// Non-zero space; need to insert the filler
size_t fill_size = free_words;
CollectedHeap::fill_with_object(old_top, fill_size);
_summary_bytes_used += fill_size * HeapWordSize;
}
// Set the current chunk as "full"
_allocation_region->set_top(_max);
@ -495,7 +494,6 @@ HeapWord* G1ArchiveAllocator::archive_mem_allocate(size_t word_size) {
}
assert(pointer_delta(_max, old_top) >= word_size, "enough space left");
_allocation_region->set_top(old_top + word_size);
_summary_bytes_used += word_size * HeapWordSize;
return old_top;
}

View File

@ -223,9 +223,6 @@ protected:
// Regions allocated for the current archive range.
GrowableArray<HeapRegion*> _allocated_regions;
// The number of bytes used in the current range.
size_t _summary_bytes_used;
// Current allocation window within the current region.
HeapWord* _bottom;
HeapWord* _top;
@ -243,7 +240,6 @@ public:
_allocated_regions((ResourceObj::set_allocation_type((address) &_allocated_regions,
ResourceObj::C_HEAP),
2), mtGC),
_summary_bytes_used(0),
_bottom(NULL),
_top(NULL),
_max(NULL) { }
@ -261,19 +257,6 @@ public:
// aligning to the requested alignment.
void complete_archive(GrowableArray<MemRegion>* ranges,
size_t end_alignment_in_bytes);
// The number of bytes allocated by this allocator.
size_t used() {
return _summary_bytes_used;
}
// Clear the count of bytes allocated in prior G1 regions. This
// must be done when recalculate_use is used to reset the counter
// for the generic allocator, since it counts bytes in all G1
// regions, including those still associated with this allocator.
void clear_used() {
_summary_bytes_used = 0;
}
};
#endif // SHARE_GC_G1_G1ALLOCATOR_HPP

View File

@ -498,10 +498,9 @@ HeapWord* G1CollectedHeap::attempt_allocation_slow(size_t word_size) {
void G1CollectedHeap::begin_archive_alloc_range(bool open) {
assert_at_safepoint_on_vm_thread();
if (_archive_allocator == NULL) {
assert(_archive_allocator == nullptr, "should not be initialized");
_archive_allocator = G1ArchiveAllocator::create_allocator(this, open);
}
}
bool G1CollectedHeap::is_archive_alloc_too_large(size_t word_size) {
// Allocations in archive regions cannot be of a size that would be considered
@ -512,9 +511,9 @@ bool G1CollectedHeap::is_archive_alloc_too_large(size_t word_size) {
HeapWord* G1CollectedHeap::archive_mem_allocate(size_t word_size) {
assert_at_safepoint_on_vm_thread();
assert(_archive_allocator != NULL, "_archive_allocator not initialized");
assert(_archive_allocator != nullptr, "_archive_allocator not initialized");
if (is_archive_alloc_too_large(word_size)) {
return NULL;
return nullptr;
}
return _archive_allocator->archive_mem_allocate(word_size);
}
@ -522,13 +521,13 @@ HeapWord* G1CollectedHeap::archive_mem_allocate(size_t word_size) {
void G1CollectedHeap::end_archive_alloc_range(GrowableArray<MemRegion>* ranges,
size_t end_alignment_in_bytes) {
assert_at_safepoint_on_vm_thread();
assert(_archive_allocator != NULL, "_archive_allocator not initialized");
assert(_archive_allocator != nullptr, "_archive_allocator not initialized");
// Call complete_archive to do the real work, filling in the MemRegion
// array with the archive regions.
_archive_allocator->complete_archive(ranges, end_alignment_in_bytes);
delete _archive_allocator;
_archive_allocator = NULL;
_archive_allocator = nullptr;
}
bool G1CollectedHeap::check_archive_addresses(MemRegion* ranges, size_t count) {
@ -1449,7 +1448,7 @@ G1CollectedHeap::G1CollectedHeap() :
_verifier(NULL),
_summary_bytes_used(0),
_bytes_used_during_gc(0),
_archive_allocator(NULL),
_archive_allocator(nullptr),
_survivor_evac_stats("Young", YoungPLABSize, PLABWeight),
_old_evac_stats("Old", OldPLABSize, PLABWeight),
_monitoring_support(nullptr),
@ -1861,9 +1860,7 @@ void G1CollectedHeap::iterate_hcc_closure(G1CardTableEntryClosure* cl, uint work
// Computes the sum of the storage used by the various regions.
size_t G1CollectedHeap::used() const {
size_t result = _summary_bytes_used + _allocator->used_in_alloc_regions();
if (_archive_allocator != NULL) {
result += _archive_allocator->used();
}
assert(_archive_allocator == nullptr, "must be, should not contribute to used");
return result;
}
@ -3197,9 +3194,7 @@ void G1CollectedHeap::rebuild_region_sets(bool free_list_only) {
if (!free_list_only) {
set_used(cl.total_used());
if (_archive_allocator != NULL) {
_archive_allocator->clear_used();
}
assert(_archive_allocator == nullptr, "must be, should not contribute to used");
}
assert_used_and_recalculate_used_equal(this);
}
@ -3393,9 +3388,7 @@ void G1CollectedHeap::update_used_after_gc(bool evacuation_failed) {
set_used(recalculate_used());
if (_archive_allocator != NULL) {
_archive_allocator->clear_used();
}
assert(_archive_allocator == nullptr, "must be, should not contribute to used");
} else {
// The "used" of the the collection set have already been subtracted
// when they were freed. Add in the bytes used.