# HG changeset patch # Parent 456e2803eabd62d5980ee35a1c35a712163a0a6e diff -r 456e2803eabd -r 8d31fb6c0fb4 src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Mon Feb 24 18:03:50 2020 +0100 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Mon Feb 24 22:15:09 2020 +0100 @@ -2913,6 +2913,7 @@ } break; } + case Op_MemBarAcquire: case Op_LoadB: case Op_LoadUB: case Op_LoadUS: diff -r 456e2803eabd -r 8d31fb6c0fb4 src/share/vm/opto/parse3.cpp --- a/src/share/vm/opto/parse3.cpp Mon Feb 24 18:03:50 2020 +0100 +++ b/src/share/vm/opto/parse3.cpp Mon Feb 24 22:15:09 2020 +0100 @@ -240,7 +240,6 @@ MemNode::MemOrd mo = is_vol ? MemNode::acquire : MemNode::unordered; Node* ld = make_load(NULL, adr, type, bt, adr_type, mo, LoadNode::DependsOnlyOnTest, is_vol); - Node* load = ld; #if INCLUDE_ALL_GCS if (UseShenandoahGC && (bt == T_OBJECT || bt == T_ARRAY)) { ld = ShenandoahBarrierSetC2::bsc2()->load_reference_barrier(this, ld); @@ -285,7 +284,7 @@ if (field->is_volatile()) { // Memory barrier includes bogus read of value to force load BEFORE membar assert(leading_membar == NULL || support_IRIW_for_not_multiple_copy_atomic_cpu, "no leading membar expected"); - Node* mb = insert_mem_bar(Op_MemBarAcquire, load); + Node* mb = insert_mem_bar(Op_MemBarAcquire, ld); mb->as_MemBar()->set_trailing_load(); } }