mirror of
https://github.com/openjdk/jdk.git
synced 2026-07-02 15:20:27 +00:00
8386288: GenShen: assert(region->get_top_before_promote() == nullptr) failed: Cannot add region scheduled for in-place-promotion to the collection set
Reviewed-by: wkemper, ruili
This commit is contained in:
parent
cba3017047
commit
a59f2fc8ad
@ -153,7 +153,7 @@ void ShenandoahInPlacePromoter::maybe_promote_region(ShenandoahHeapRegion* r) co
|
||||
if (!obj->is_typeArray()) {
|
||||
promote_humongous(r);
|
||||
}
|
||||
} else if (r->is_regular() && (r->get_top_before_promote() != nullptr)) {
|
||||
} else if (r->is_regular_or_regular_pinned() && (r->get_top_before_promote() != nullptr)) {
|
||||
// Likewise, we cannot put promote-in-place regions into the collection set because that would also trigger
|
||||
// the LRB to copy on reference fetch.
|
||||
//
|
||||
@ -181,7 +181,7 @@ void ShenandoahInPlacePromoter::promote(ShenandoahHeapRegion* region) const {
|
||||
assert(region->garbage_before_padded_for_promote() < old_garbage_threshold,
|
||||
"Region %zu has too much garbage for promotion", region->index());
|
||||
assert(region->is_young(), "Only young regions can be promoted");
|
||||
assert(region->is_regular(), "Use different service to promote humongous regions");
|
||||
assert(region->is_regular_or_regular_pinned(), "Use different service to promote humongous regions");
|
||||
assert(_heap->is_tenurable(region), "Only promote regions that are sufficiently aged");
|
||||
assert(region->get_top_before_promote() == tams, "Region %zu has been used for allocations before promotion", region->index());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user