< prev index next >

src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp

Print this page

        

*** 1920,1930 **** if (Assembler::operand_valid_for_add_sub_immediate(imm)) { if (is_32bit) __ cmpw(reg1, imm); else ! __ cmp(reg1, imm); return; } else { __ mov(rscratch1, imm); if (is_32bit) __ cmpw(reg1, rscratch1); --- 1920,1930 ---- if (Assembler::operand_valid_for_add_sub_immediate(imm)) { if (is_32bit) __ cmpw(reg1, imm); else ! __ subs(zr, reg1, imm); return; } else { __ mov(rscratch1, imm); if (is_32bit) __ cmpw(reg1, rscratch1);
*** 2703,2713 **** __ tbnz(tmp, exact_log2(TypeEntries::type_unknown), next); // already unknown. Nothing to do anymore. if (TypeEntries::is_type_none(current_klass)) { __ cbz(rscratch2, none); ! __ cmp(rscratch2, TypeEntries::null_seen); __ br(Assembler::EQ, none); // There is a chance that the checks above (re-reading profiling // data from memory) fail if another thread has just set the // profiling to this obj's klass __ dmb(Assembler::ISHLD); --- 2703,2713 ---- __ tbnz(tmp, exact_log2(TypeEntries::type_unknown), next); // already unknown. Nothing to do anymore. if (TypeEntries::is_type_none(current_klass)) { __ cbz(rscratch2, none); ! __ cmp(rscratch2, (u1)TypeEntries::null_seen); __ br(Assembler::EQ, none); // There is a chance that the checks above (re-reading profiling // data from memory) fail if another thread has just set the // profiling to this obj's klass __ dmb(Assembler::ISHLD);
*** 2748,2758 **** #ifdef ASSERT { Label ok; __ ldr(rscratch1, mdo_addr); __ cbz(rscratch1, ok); ! __ cmp(rscratch1, TypeEntries::null_seen); __ br(Assembler::EQ, ok); // may have been set by another thread __ dmb(Assembler::ISHLD); __ mov_metadata(rscratch1, exact_klass->constant_encoding()); __ ldr(rscratch2, mdo_addr); --- 2748,2758 ---- #ifdef ASSERT { Label ok; __ ldr(rscratch1, mdo_addr); __ cbz(rscratch1, ok); ! __ cmp(rscratch1, (u1)TypeEntries::null_seen); __ br(Assembler::EQ, ok); // may have been set by another thread __ dmb(Assembler::ISHLD); __ mov_metadata(rscratch1, exact_klass->constant_encoding()); __ ldr(rscratch2, mdo_addr);
< prev index next >