diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp index 8d65011b560..27a2cbfb000 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp @@ -2803,12 +2803,6 @@ bool G1CollectedHeap::is_old_gc_alloc_region(G1HeapRegion* hr) { return _allocator->is_retained_old_region(hr); } -void G1CollectedHeap::set_region_short_lived_locked(G1HeapRegion* hr) { - _eden.add(hr); - _policy->set_region_eden(hr); - young_regions_cset_group()->add(hr); -} - #ifdef ASSERT class NoYoungRegionsClosure: public G1HeapRegionClosure { @@ -2957,9 +2951,13 @@ G1HeapRegion* G1CollectedHeap::new_mutator_alloc_region(size_t word_size, false /* do_expand */, node_index); if (new_alloc_region != nullptr) { - set_region_short_lived_locked(new_alloc_region); - G1HeapRegionPrinter::alloc(new_alloc_region); + new_alloc_region->set_eden(); + _eden.add(new_alloc_region); + _policy->set_region_eden(new_alloc_region); _policy->remset_tracker()->update_at_allocate(new_alloc_region); + // Install the group cardset. + young_regions_cset_group()->add(new_alloc_region); + G1HeapRegionPrinter::alloc(new_alloc_region); return new_alloc_region; } } diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp index 90e0ea8608a..48d7300bf41 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp @@ -1214,7 +1214,6 @@ public: return named_heap(CollectedHeap::G1); } - void set_region_short_lived_locked(G1HeapRegion* hr); // add appropriate methods for any other surv rate groups G1SurvivorRegions* survivor() { return &_survivor; } diff --git a/src/hotspot/share/gc/g1/g1EdenRegions.hpp b/src/hotspot/share/gc/g1/g1EdenRegions.hpp index a6e005ff2dc..c7ed9008ee7 100644 --- a/src/hotspot/share/gc/g1/g1EdenRegions.hpp +++ b/src/hotspot/share/gc/g1/g1EdenRegions.hpp @@ -42,7 +42,7 @@ public: G1EdenRegions() : _length(0), _used_bytes(0), _regions_on_node() { } uint add(G1HeapRegion* hr) { - assert(!hr->is_eden(), "should not already be set"); + assert(hr->is_eden(), "must be"); _length++; return _regions_on_node.add(hr); } diff --git a/src/hotspot/share/gc/g1/g1Policy.hpp b/src/hotspot/share/gc/g1/g1Policy.hpp index 804950f1ef3..3571945d587 100644 --- a/src/hotspot/share/gc/g1/g1Policy.hpp +++ b/src/hotspot/share/gc/g1/g1Policy.hpp @@ -121,7 +121,6 @@ public: G1OldGenAllocationTracker* old_gen_alloc_tracker() { return &_old_gen_alloc_tracker; } void set_region_eden(G1HeapRegion* hr) { - hr->set_eden(); hr->install_surv_rate_group(_eden_surv_rate_group); }