< prev index next >
src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
Print this page
rev 50099 : 8203157: Object equals abstraction for BarrierSetAssembler
*** 1877,1887 ****
Register reg1 = as_reg(opr1);
if (opr2->is_single_cpu()) {
// cpu register - cpu register
Register reg2 = opr2->as_register();
if (opr1->type() == T_OBJECT || opr1->type() == T_ARRAY) {
! __ cmp(reg1, reg2);
} else {
assert(opr2->type() != T_OBJECT && opr2->type() != T_ARRAY, "cmp int, oop?");
__ cmpw(reg1, reg2);
}
return;
--- 1877,1887 ----
Register reg1 = as_reg(opr1);
if (opr2->is_single_cpu()) {
// cpu register - cpu register
Register reg2 = opr2->as_register();
if (opr1->type() == T_OBJECT || opr1->type() == T_ARRAY) {
! __ cmpoop(reg1, reg2);
} else {
assert(opr2->type() != T_OBJECT && opr2->type() != T_ARRAY, "cmp int, oop?");
__ cmpw(reg1, reg2);
}
return;
*** 1908,1919 ****
case T_ADDRESS:
imm = opr2->as_constant_ptr()->as_jint();
break;
case T_OBJECT:
case T_ARRAY:
! imm = jlong(opr2->as_constant_ptr()->as_jobject());
! break;
default:
ShouldNotReachHere();
imm = 0; // unreachable
break;
}
--- 1908,1920 ----
case T_ADDRESS:
imm = opr2->as_constant_ptr()->as_jint();
break;
case T_OBJECT:
case T_ARRAY:
! jobject2reg(opr2->as_constant_ptr()->as_jobject(), rscratch1);
! __ cmpoop(reg1, rscratch1);
! return;
default:
ShouldNotReachHere();
imm = 0; // unreachable
break;
}
< prev index next >