8322954: Shenandoah: Convert evac-update closures asserts to rich asserts

Reviewed-by: wkemper, kdnilsen, ysr
This commit is contained in:
Aleksey Shipilev 2024-01-05 17:04:32 +00:00
parent 631a9f60f3
commit 700c25f5b4
3 changed files with 3 additions and 5 deletions

@ -357,7 +357,7 @@ void ShenandoahBarrierSet::arraycopy_work(T* src, size_t count) {
if (EVAC && obj == fwd) {
fwd = _heap->evacuate_object(obj, thread);
}
assert(obj != fwd || _heap->cancelled_gc(), "must be forwarded");
shenandoah_assert_forwarded_except(elem_ptr, obj, _heap->cancelled_gc());
ShenandoahHeap::atomic_update_oop(fwd, elem_ptr, o);
obj = fwd;
}

@ -53,7 +53,7 @@ private:
if (EVAC && obj == fwd) {
fwd = _heap->evacuate_object(obj, _thread);
}
assert(obj != fwd || _heap->cancelled_gc(), "must be forwarded");
shenandoah_assert_forwarded_except(p, obj, _heap->cancelled_gc());
ShenandoahHeap::atomic_update_oop(fwd, p, o);
obj = fwd;
}

@ -705,10 +705,8 @@ void ShenandoahEvacUpdateCleanupOopStorageRootsClosure::do_oop(oop* p) {
if (resolved == obj) {
resolved = _heap->evacuate_object(obj, _thread);
}
shenandoah_assert_not_in_cset_except(p, resolved, _heap->cancelled_gc());
ShenandoahHeap::atomic_update_oop(resolved, p, obj);
assert(_heap->cancelled_gc() ||
_mark_context->is_marked(resolved) && !_heap->in_collection_set(resolved),
"Sanity");
}
}
}