< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp

Print this page
rev 59271 : 8240870: Shenandoah: merge evac and update phases
Reviewed-by: XXX

*** 47,57 **** if (!CompressedOops::is_null(o)) { oop obj = CompressedOops::decode_not_null(o); if (HAS_FWD && _cset->is_in(obj)) { oop fwd = _bs->resolve_forwarded_not_null(obj); if (EVAC && obj == fwd) { ! fwd = _heap->evacuate_object(obj, _thread); } assert(obj != fwd || _heap->cancelled_gc(), "must be forwarded"); ShenandoahHeap::cas_oop(fwd, p, o); obj = fwd; } --- 47,57 ---- if (!CompressedOops::is_null(o)) { oop obj = CompressedOops::decode_not_null(o); if (HAS_FWD && _cset->is_in(obj)) { oop fwd = _bs->resolve_forwarded_not_null(obj); if (EVAC && obj == fwd) { ! fwd = _heap->evacuate_object_recursively(obj, p,_thread); } assert(obj != fwd || _heap->cancelled_gc(), "must be forwarded"); ShenandoahHeap::cas_oop(fwd, p, o); obj = fwd; }
< prev index next >