no need to set_mutator_free_after_updaterefs

This commit is contained in:
Kelvin Nilsen 2026-01-27 19:52:25 +00:00
parent ca6b9625f4
commit 26296f5dbb
4 changed files with 6 additions and 14 deletions

View File

@ -2590,12 +2590,12 @@ void ShenandoahFreeSet::prepare_to_rebuild(size_t &young_trashed_regions, size_t
} }
// Return mutator free // Return mutator free
size_t ShenandoahFreeSet::finish_rebuild(size_t young_trashed_regions, size_t old_trashed_regions, size_t old_region_count) { void ShenandoahFreeSet::finish_rebuild(size_t young_trashed_regions, size_t old_trashed_regions, size_t old_region_count) {
shenandoah_assert_heaplocked(); shenandoah_assert_heaplocked();
size_t young_reserve(0), old_reserve(0); size_t young_reserve(0), old_reserve(0);
if (_heap->mode()->is_generational()) { if (_heap->mode()->is_generational()) {
compute_young_and_old_reserves(young_cset_regions, old_cset_regions, young_reserve, old_reserve); compute_young_and_old_reserves(young_trashed_regions, old_trashed_regions, young_reserve, old_reserve);
} else { } else {
young_reserve = (_heap->max_capacity() / 100) * ShenandoahEvacReserve; young_reserve = (_heap->max_capacity() / 100) * ShenandoahEvacReserve;
old_reserve = 0; old_reserve = 0;
@ -2604,8 +2604,8 @@ size_t ShenandoahFreeSet::finish_rebuild(size_t young_trashed_regions, size_t ol
// Move some of the mutator regions into the Collector and OldCollector partitions in order to satisfy // Move some of the mutator regions into the Collector and OldCollector partitions in order to satisfy
// young_reserve and old_reserve. // young_reserve and old_reserve.
size_t young_used_regions, old_used_regions, young_used_bytes, old_used_bytes; size_t young_used_regions, old_used_regions, young_used_bytes, old_used_bytes;
size_t mutator_free = reserve_regions(young_reserve, old_reserve, old_region_count, young_used_regions, old_used_regions, reserve_regions(young_reserve, old_reserve, old_region_count, young_used_regions, old_used_regions,
young_used_bytes, old_used_bytes); young_used_bytes, old_used_bytes);
_total_young_regions = _heap->num_regions() - old_region_count; _total_young_regions = _heap->num_regions() - old_region_count;
_total_global_regions = _heap->num_regions(); _total_global_regions = _heap->num_regions();
establish_old_collector_alloc_bias(); establish_old_collector_alloc_bias();
@ -2618,7 +2618,6 @@ size_t ShenandoahFreeSet::finish_rebuild(size_t young_trashed_regions, size_t ol
// Clear the region balance until it is adjusted in preparation for a subsequent GC cycle. // Clear the region balance until it is adjusted in preparation for a subsequent GC cycle.
_heap->old_generation()->set_region_balance(0); _heap->old_generation()->set_region_balance(0);
} }
return mutator_free;
} }

View File

@ -802,9 +802,7 @@ public:
// old_trashed_regions is the number of trashed regions // old_trashed_regions is the number of trashed regions
// (immediate garbage at final old mark, cset regions after update refs for mixed evac) // (immediate garbage at final old mark, cset regions after update refs for mixed evac)
// num_old_regions is the number of old-gen regions that have available memory for further allocations (excluding old cset) // num_old_regions is the number of old-gen regions that have available memory for further allocations (excluding old cset)
// void finish_rebuild(size_t young_trashed_regions, size_t old_trashed_regions, size_t num_old_regions);
// Returns allocatable memory within Mutator partition, in words.
size_t finish_rebuild(size_t young_trashed_regions, size_t old_trashed_regions, size_t num_old_regions);
// When a region is promoted in place, we add the region's available memory if it is greater than plab_min_size() // When a region is promoted in place, we add the region's available memory if it is greater than plab_min_size()
// into the old collector partition by invoking this method. // into the old collector partition by invoking this method.

View File

@ -1125,8 +1125,7 @@ void ShenandoahFullGC::phase5_epilog() {
if (heap->mode()->is_generational()) { if (heap->mode()->is_generational()) {
ShenandoahGenerationalFullGC::compute_balances(); ShenandoahGenerationalFullGC::compute_balances();
} }
size_t mutator_free = heap->free_set()->finish_rebuild(young_trashed_regions, old_trashed_regions, num_old); heap->free_set()->finish_rebuild(young_trashed_regions, old_trashed_regions, num_old);
heap->set_mutator_free_after_updaterefs(mutator_free);
} }
// Set mark incomplete because the marking bitmaps have been reset except pinned regions. // Set mark incomplete because the marking bitmaps have been reset except pinned regions.

View File

@ -684,7 +684,6 @@ protected:
inline HeapWord* allocate_from_gclab(Thread* thread, size_t size); inline HeapWord* allocate_from_gclab(Thread* thread, size_t size);
private: private:
size_t _mutator_free_after_updaterefs;
HeapWord* allocate_memory_under_lock(ShenandoahAllocRequest& request, bool& in_new_region); HeapWord* allocate_memory_under_lock(ShenandoahAllocRequest& request, bool& in_new_region);
HeapWord* allocate_from_gclab_slow(Thread* thread, size_t size); HeapWord* allocate_from_gclab_slow(Thread* thread, size_t size);
HeapWord* allocate_new_gclab(size_t min_size, size_t word_size, size_t* actual_size); HeapWord* allocate_new_gclab(size_t min_size, size_t word_size, size_t* actual_size);
@ -711,9 +710,6 @@ public:
void tlabs_retire(bool resize); void tlabs_retire(bool resize);
void gclabs_retire(bool resize); void gclabs_retire(bool resize);
inline void set_mutator_free_after_updaterefs(size_t val) { _mutator_free_after_updaterefs = val; };
inline size_t get_mutator_free_after_updaterefs() const { return _mutator_free_after_updaterefs; };
// ---------- Marking support // ---------- Marking support
// //
private: private: