< prev index next >

src/hotspot/share/gc/shared/c1/barrierSetC1.cpp

Print this page

        

*** 60,72 **** addr_opr = LIR_OprFact::address(gen->generate_address(base.result(), offset, 0, 0, access.type())); } 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; } else { return addr_opr; } } --- 60,76 ---- addr_opr = LIR_OprFact::address(gen->generate_address(base.result(), offset, 0, 0, access.type())); } if (resolve_in_register) { LIR_Opr resolved_addr = gen->new_pointer_register(); ! 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; } }
< prev index next >