8286376: Wrong condition for using non-immediate oops on AArch64

Reviewed-by: aph, thartmann
This commit is contained in:
Erik Österlund 2022-05-24 09:16:10 +00:00
parent 4042dba3d0
commit bd361bc077

View File

@ -4218,7 +4218,7 @@ void MacroAssembler::movoop(Register dst, jobject obj, bool immediate) {
// ordered with respected to oop accesses.
// Using immediate literals would necessitate ISBs.
BarrierSet* bs = BarrierSet::barrier_set();
if ((bs->barrier_set_nmethod() != NULL && bs->barrier_set_assembler()->nmethod_code_patching()) || !immediate) {
if ((bs->barrier_set_nmethod() != NULL && !bs->barrier_set_assembler()->nmethod_code_patching()) || !immediate) {
address dummy = address(uintptr_t(pc()) & -wordSize); // A nearby aligned address
ldr_constant(dst, Address(dummy, rspec));
} else