hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
changeset 5695 7fbbde5b4e3e
parent 4430 95b539dfa1e8
child 5702 201c5cde25bb
equal deleted inserted replaced
5694:1e0532a6abff 5695:7fbbde5b4e3e
   173     // This store will need a precise card mark, so go ahead and
   173     // This store will need a precise card mark, so go ahead and
   174     // compute the full adddres instead of computing once for the
   174     // compute the full adddres instead of computing once for the
   175     // store and again for the card mark.
   175     // store and again for the card mark.
   176     LIR_Opr tmp = new_pointer_register();
   176     LIR_Opr tmp = new_pointer_register();
   177     __ leal(LIR_OprFact::address(addr), tmp);
   177     __ leal(LIR_OprFact::address(addr), tmp);
   178     return new LIR_Address(tmp, 0, type);
   178     return new LIR_Address(tmp, type);
   179   } else {
   179   } else {
   180     return addr;
   180     return addr;
   181   }
   181   }
   182 }
   182 }
   183 
   183 
   184 
   184 
   185 void LIRGenerator::increment_counter(address counter, int step) {
   185 void LIRGenerator::increment_counter(address counter, int step) {
   186   LIR_Opr pointer = new_pointer_register();
   186   LIR_Opr pointer = new_pointer_register();
   187   __ move(LIR_OprFact::intptrConst(counter), pointer);
   187   __ move(LIR_OprFact::intptrConst(counter), pointer);
   188   LIR_Address* addr = new LIR_Address(pointer, 0, T_INT);
   188   LIR_Address* addr = new LIR_Address(pointer, T_INT);
   189   increment_counter(addr, step);
   189   increment_counter(addr, step);
   190 }
   190 }
   191 
   191 
   192 
   192 
   193 void LIRGenerator::increment_counter(LIR_Address* addr, int step) {
   193 void LIRGenerator::increment_counter(LIR_Address* addr, int step) {