--- old/src/hotspot/share/gc/shared/c1/barrierSetC1.cpp 2019-01-24 11:42:53.871135332 +0100 +++ new/src/hotspot/share/gc/shared/c1/barrierSetC1.cpp 2019-01-24 11:42:53.581122850 +0100 @@ -62,9 +62,13 @@ if (resolve_in_register) { LIR_Opr resolved_addr = gen->new_pointer_register(); - __ leal(addr_opr, resolved_addr); - resolved_addr = LIR_OprFact::address(new LIR_Address(resolved_addr, access.type())); - return resolved_addr; + if (needs_patching) { + __ leal(addr_opr, resolved_addr, lir_patch_normal, access.patch_emit_info()); + access.clear_decorators(C1_NEEDS_PATCHING); + } else { + __ leal(addr_opr, resolved_addr); + } + return LIR_OprFact::address(new LIR_Address(resolved_addr, access.type())); } else { return addr_opr; }