< prev index next >

src/hotspot/share/c1/c1_LIRGenerator.cpp

Print this page

        

*** 3283,3293 **** --- 3283,3299 ---- } } void LIRGenerator::increment_backedge_counter_conditionally(LIR_Condition cond, LIR_Opr left, LIR_Opr right, CodeEmitInfo* info, int left_bci, int right_bci, int bci) { if (compilation()->count_backedges()) { + #ifndef _LP64 + LIR_Opr left_copy = new_register(left->type()); + __ move(left, left_copy); + __ cmp(cond, left_copy, right); + #else __ cmp(cond, left, right); + #endif LIR_Opr step = new_register(T_INT); LIR_Opr plus_one = LIR_OprFact::intConst(InvocationCounter::count_increment); LIR_Opr zero = LIR_OprFact::intConst(0); __ cmove(cond, (left_bci < bci) ? plus_one : zero,
< prev index next >