mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
Invoke assert_bounds after updating accounting from ShenandoahAllocator
This commit is contained in:
parent
1009d847fc
commit
31bdb2290d
@ -86,6 +86,7 @@ public:
|
||||
default:
|
||||
assert(false, "won't happen");
|
||||
}
|
||||
_free_set->partitions()->assert_bounds(true);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1200,6 +1200,8 @@ void ShenandoahConcurrentGC::op_final_update_refs() {
|
||||
heap->verifier()->verify_roots_in_to_space(_generation);
|
||||
}
|
||||
|
||||
heap->free_set()->release_alloc_regions_under_lock();
|
||||
|
||||
// If we are running in generational mode and this is an aging cycle, this will also age active
|
||||
// regions that haven't been used for allocation.
|
||||
heap->update_heap_region_states(true /*concurrent*/);
|
||||
@ -1222,8 +1224,6 @@ void ShenandoahConcurrentGC::op_final_update_refs() {
|
||||
Universe::verify();
|
||||
}
|
||||
|
||||
heap->free_set()->release_alloc_regions_under_lock();
|
||||
|
||||
heap->rebuild_free_set(true /*concurrent*/);
|
||||
|
||||
{
|
||||
|
||||
@ -428,6 +428,8 @@ void ShenandoahDegenGC::op_update_roots() {
|
||||
|
||||
update_roots(false /*full_gc*/);
|
||||
|
||||
heap->free_set()->release_alloc_regions_under_lock();
|
||||
|
||||
heap->update_heap_region_states(false /*concurrent*/);
|
||||
|
||||
if (ShenandoahVerify) {
|
||||
@ -438,7 +440,6 @@ void ShenandoahDegenGC::op_update_roots() {
|
||||
Universe::verify();
|
||||
}
|
||||
|
||||
heap->free_set()->release_alloc_regions_under_lock();
|
||||
heap->rebuild_free_set(false /*concurrent*/);
|
||||
}
|
||||
|
||||
|
||||
@ -851,7 +851,7 @@ public:
|
||||
return _old_collector_allocator;
|
||||
}
|
||||
|
||||
inline void release_alloc_regions() {
|
||||
void release_alloc_regions() {
|
||||
mutator_allocator()->release_alloc_regions();
|
||||
collector_allocator()->release_alloc_regions();
|
||||
}
|
||||
|
||||
@ -1118,7 +1118,6 @@ void ShenandoahFullGC::phase5_epilog() {
|
||||
size_t young_cset_regions, old_cset_regions, first_old, last_old, num_old;
|
||||
ShenandoahFreeSet* free_set = heap->free_set();
|
||||
{
|
||||
free_set->collector_allocator()->release_alloc_regions();
|
||||
free_set->prepare_to_rebuild(young_cset_regions, old_cset_regions, first_old, last_old, num_old);
|
||||
// We also do not expand old generation size following Full GC because we have scrambled age populations and
|
||||
// no longer have objects separated by age into distinct regions.
|
||||
|
||||
@ -591,6 +591,7 @@ public:
|
||||
current_atomic_top = prior_atomic_top;
|
||||
}
|
||||
assert(top<false>() == current_atomic_top, "Value of _atomic_top must have synced to _top");
|
||||
assert(!is_atomic_alloc_region(), "Must not");
|
||||
}
|
||||
|
||||
inline bool is_atomic_alloc_region() const {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user