< prev index next >
src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp
Print this page
rev 58558 : 8241605: Shenandoah: More aggressive reference discovery
*** 218,229 ****
__ move(tmp, result);
} else {
BarrierSetC1::load_at_resolved(access, result);
}
! // 3: apply keep-alive barrier if ShenandoahKeepAliveBarrier is set
! if (ShenandoahKeepAliveBarrier) {
bool is_weak = (decorators & ON_WEAK_OOP_REF) != 0;
bool is_phantom = (decorators & ON_PHANTOM_OOP_REF) != 0;
bool is_anonymous = (decorators & ON_UNKNOWN_OOP_REF) != 0;
bool is_traversal_mode = ShenandoahHeap::heap()->is_traversal_mode();
bool keep_alive = (decorators & AS_NO_KEEPALIVE) == 0 || is_traversal_mode;
--- 218,229 ----
__ move(tmp, result);
} else {
BarrierSetC1::load_at_resolved(access, result);
}
! // 3: apply keep-alive barrier if ShenandoahSATBBarrier is set
! if (ShenandoahSATBBarrier) {
bool is_weak = (decorators & ON_WEAK_OOP_REF) != 0;
bool is_phantom = (decorators & ON_PHANTOM_OOP_REF) != 0;
bool is_anonymous = (decorators & ON_UNKNOWN_OOP_REF) != 0;
bool is_traversal_mode = ShenandoahHeap::heap()->is_traversal_mode();
bool keep_alive = (decorators & AS_NO_KEEPALIVE) == 0 || is_traversal_mode;
< prev index next >