From bd361bc077e58da173e752392147b8d08055dc37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20=C3=96sterlund?= Date: Tue, 24 May 2022 09:16:10 +0000 Subject: [PATCH] 8286376: Wrong condition for using non-immediate oops on AArch64 Reviewed-by: aph, thartmann --- src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp index f651aa4df22..bc6dec5a843 100644 --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp @@ -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