src/cpu/x86/vm/c1_LIRGenerator_x86.cpp

changeset 1934
e9ff18c4ace7
parent 1907
c18cbe5936b8
parent 1927
87fc6aca31ab
child 2036
126ea7725993
equal deleted inserted replaced
1917:dfe27f03244a 1934:e9ff18c4ace7
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) {

mercurial