src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

Print this page

        

*** 2460,2472 **** --- 2460,2481 ---- break; default: ShouldNotReachHere(); } #endif // _LP64 } else { + #ifdef _LP64 + Register r_lo; + if (right->type() == T_OBJECT || right->type() == T_ARRAY) { + r_lo = right->as_register(); + } else { + r_lo = right->as_register_lo(); + } + #else Register r_lo = right->as_register_lo(); Register r_hi = right->as_register_hi(); assert(l_lo != r_hi, "overwriting registers"); + #endif switch (code) { case lir_logic_and: __ andptr(l_lo, r_lo); NOT_LP64(__ andptr(l_hi, r_hi);) break;