8320907: Shenandoah: Remove ShenandoahSelfFixing flag

Reviewed-by: wkemper, zgu, kdnilsen, rkennke
This commit is contained in:
Aleksey Shipilev 2023-11-29 17:23:04 +00:00
parent da7bcfcf6e
commit 43c7f6a673
3 changed files with 2 additions and 7 deletions

View File

@ -1392,11 +1392,9 @@ void ShenandoahBarrierC2Support::pin_and_expand(PhaseIdealLoop* phase) {
Node* result_mem = nullptr;
Node* addr;
if (ShenandoahSelfFixing) {
{
VectorSet visited;
addr = get_load_addr(phase, visited, lrb);
} else {
addr = phase->igvn().zerocon(T_OBJECT);
}
if (addr->Opcode() == Op_AddP) {
Node* orig_base = addr->in(AddPNode::Base);

View File

@ -123,7 +123,7 @@ inline oop ShenandoahBarrierSet::load_reference_barrier(DecoratorSet decorators,
}
oop fwd = load_reference_barrier(obj);
if (ShenandoahSelfFixing && load_addr != nullptr && fwd != obj) {
if (load_addr != nullptr && fwd != obj) {
// Since we are here and we know the load address, update the reference.
ShenandoahHeap::atomic_update_oop(fwd, load_addr, obj);
}

View File

@ -366,9 +366,6 @@
product(bool, ShenandoahLoopOptsAfterExpansion, true, DIAGNOSTIC, \
"Attempt more loop opts after barrier expansion.") \
\
product(bool, ShenandoahSelfFixing, true, DIAGNOSTIC, \
"Fix references with load reference barrier. Disabling this " \
"might degrade performance.")
// end of GC_SHENANDOAH_FLAGS