< prev index next >
src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp
Print this page
rev 52662 : [mq]: 8214206
@@ -2553,11 +2553,11 @@
Register lreg = left->as_register();
Register dreg = result->as_register();
if (right->is_constant()) {
- int divisor = right->as_constant_ptr()->as_jint();
+ jint divisor = right->as_constant_ptr()->as_jint();
assert(divisor > 0 && is_power_of_2(divisor), "must be");
if (code == lir_idiv) {
assert(lreg == rax, "must be rax,");
assert(temp->as_register() == rdx, "tmp register must be rdx");
__ cdql(); // sign extend into rdx:rax
@@ -2565,11 +2565,11 @@
__ subl(lreg, rdx);
} else {
__ andl(rdx, divisor - 1);
__ addl(lreg, rdx);
}
- __ sarl(lreg, log2_intptr(divisor));
+ __ sarl(lreg, log2_jint(divisor));
move_regs(lreg, dreg);
} else if (code == lir_irem) {
Label done;
__ mov(dreg, lreg);
__ andl(dreg, 0x80000000 | (divisor - 1));
< prev index next >