< 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 >