src/cpu/x86/vm/c1_LIRGenerator_x86.cpp

Print this page

        

*** 173,193 **** // This store will need a precise card mark, so go ahead and // compute the full adddres instead of computing once for the // store and again for the card mark. LIR_Opr tmp = new_pointer_register(); __ leal(LIR_OprFact::address(addr), tmp); ! return new LIR_Address(tmp, 0, type); } else { return addr; } } void LIRGenerator::increment_counter(address counter, int step) { LIR_Opr pointer = new_pointer_register(); __ move(LIR_OprFact::intptrConst(counter), pointer); ! LIR_Address* addr = new LIR_Address(pointer, 0, T_INT); increment_counter(addr, step); } void LIRGenerator::increment_counter(LIR_Address* addr, int step) { --- 173,193 ---- // This store will need a precise card mark, so go ahead and // compute the full adddres instead of computing once for the // store and again for the card mark. LIR_Opr tmp = new_pointer_register(); __ leal(LIR_OprFact::address(addr), tmp); ! return new LIR_Address(tmp, (intx)0, type); } else { return addr; } } void LIRGenerator::increment_counter(address counter, int step) { LIR_Opr pointer = new_pointer_register(); __ move(LIR_OprFact::intptrConst(counter), pointer); ! LIR_Address* addr = new LIR_Address(pointer, (intx)0, T_INT); increment_counter(addr, step); } void LIRGenerator::increment_counter(LIR_Address* addr, int step) {