--- old/src/hotspot/share/opto/macro.cpp 2020-06-22 20:25:32.942562000 +0200 +++ new/src/hotspot/share/opto/macro.cpp 2020-06-22 20:25:32.009567000 +0200 @@ -946,8 +946,8 @@ assert(ac->is_clonebasic(), "unexpected array copy kind"); Node* membar_after = ac->proj_out(TypeFunc::Control)->unique_ctrl_out(); disconnect_projections(ac, _igvn); - assert(alloc->in(0)->is_Proj() && alloc->in(0)->in(0)->Opcode() == Op_MemBarCPUOrder, "mem barrier expected before allocation"); - Node* membar_before = alloc->in(0)->in(0); + assert(alloc->in(TypeFunc::Memory)->is_Proj() && alloc->in(TypeFunc::Memory)->in(0)->Opcode() == Op_MemBarCPUOrder, "mem barrier expected before allocation"); + Node* membar_before = alloc->in(TypeFunc::Memory)->in(0); disconnect_projections(membar_before->as_MemBar(), _igvn); if (membar_after->is_MemBar()) { disconnect_projections(membar_after->as_MemBar(), _igvn);