mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
no need to set_mutator_free_after_updaterefs
This commit is contained in:
parent
ca6b9625f4
commit
26296f5dbb
@ -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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user