8263433: Shenandoah: Don't expect forwarded objects in set_concurrent_mark_in_progress()
Reviewed-by: shade
This commit is contained in:
parent
15daccacee
commit
b92abac262
@ -1696,11 +1696,8 @@ void ShenandoahHeap::set_gc_state_mask(uint mask, bool value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ShenandoahHeap::set_concurrent_mark_in_progress(bool in_progress) {
|
void ShenandoahHeap::set_concurrent_mark_in_progress(bool in_progress) {
|
||||||
if (has_forwarded_objects()) {
|
assert(!has_forwarded_objects(), "Not expected before/after mark phase");
|
||||||
set_gc_state_mask(MARKING | UPDATEREFS, in_progress);
|
set_gc_state_mask(MARKING, in_progress);
|
||||||
} else {
|
|
||||||
set_gc_state_mask(MARKING, in_progress);
|
|
||||||
}
|
|
||||||
ShenandoahBarrierSet::satb_mark_queue_set().set_active_all_threads(in_progress, !in_progress);
|
ShenandoahBarrierSet::satb_mark_queue_set().set_active_all_threads(in_progress, !in_progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user