8263433: Shenandoah: Don't expect forwarded objects in set_concurrent_mark_in_progress()

Reviewed-by: shade
This commit is contained in:
Zhengyu Gu 2021-03-11 20:11:38 +00:00
parent 15daccacee
commit b92abac262

View File

@ -1696,11 +1696,8 @@ void ShenandoahHeap::set_gc_state_mask(uint mask, bool value) {
}
void ShenandoahHeap::set_concurrent_mark_in_progress(bool in_progress) {
if (has_forwarded_objects()) {
set_gc_state_mask(MARKING | UPDATEREFS, in_progress);
} else {
set_gc_state_mask(MARKING, in_progress);
}
assert(!has_forwarded_objects(), "Not expected before/after mark phase");
set_gc_state_mask(MARKING, in_progress);
ShenandoahBarrierSet::satb_mark_queue_set().set_active_all_threads(in_progress, !in_progress);
}