equal
deleted
inserted
replaced
1665 Register dst = op->result_opr()->as_register(); |
1665 Register dst = op->result_opr()->as_register(); |
1666 ciKlass* k = op->klass(); |
1666 ciKlass* k = op->klass(); |
1667 Register Rtmp1 = noreg; |
1667 Register Rtmp1 = noreg; |
1668 |
1668 |
1669 // check if it needs to be profiled |
1669 // check if it needs to be profiled |
1670 ciMethodData* md; |
1670 ciMethodData* md = NULL; |
1671 ciProfileData* data; |
1671 ciProfileData* data = NULL; |
1672 |
1672 |
1673 if (op->should_profile()) { |
1673 if (op->should_profile()) { |
1674 ciMethod* method = op->profiled_method(); |
1674 ciMethod* method = op->profiled_method(); |
1675 assert(method != NULL, "Should have method"); |
1675 assert(method != NULL, "Should have method"); |
1676 int bci = op->profiled_bci(); |
1676 int bci = op->profiled_bci(); |
1825 Register Rtmp1 = op->tmp3()->as_register(); |
1825 Register Rtmp1 = op->tmp3()->as_register(); |
1826 |
1826 |
1827 CodeStub* stub = op->stub(); |
1827 CodeStub* stub = op->stub(); |
1828 |
1828 |
1829 // check if it needs to be profiled |
1829 // check if it needs to be profiled |
1830 ciMethodData* md; |
1830 ciMethodData* md = NULL; |
1831 ciProfileData* data; |
1831 ciProfileData* data = NULL; |
1832 |
1832 |
1833 if (op->should_profile()) { |
1833 if (op->should_profile()) { |
1834 ciMethod* method = op->profiled_method(); |
1834 ciMethod* method = op->profiled_method(); |
1835 assert(method != NULL, "Should have method"); |
1835 assert(method != NULL, "Should have method"); |
1836 int bci = op->profiled_bci(); |
1836 int bci = op->profiled_bci(); |
2003 case lir_cond_lessEqual: acond = Assembler::lessEqual; ncond = Assembler::greater; break; |
2003 case lir_cond_lessEqual: acond = Assembler::lessEqual; ncond = Assembler::greater; break; |
2004 case lir_cond_greaterEqual: acond = Assembler::greaterEqual; ncond = Assembler::less; break; |
2004 case lir_cond_greaterEqual: acond = Assembler::greaterEqual; ncond = Assembler::less; break; |
2005 case lir_cond_greater: acond = Assembler::greater; ncond = Assembler::lessEqual; break; |
2005 case lir_cond_greater: acond = Assembler::greater; ncond = Assembler::lessEqual; break; |
2006 case lir_cond_belowEqual: acond = Assembler::belowEqual; ncond = Assembler::above; break; |
2006 case lir_cond_belowEqual: acond = Assembler::belowEqual; ncond = Assembler::above; break; |
2007 case lir_cond_aboveEqual: acond = Assembler::aboveEqual; ncond = Assembler::below; break; |
2007 case lir_cond_aboveEqual: acond = Assembler::aboveEqual; ncond = Assembler::below; break; |
2008 default: ShouldNotReachHere(); |
2008 default: acond = Assembler::equal; ncond = Assembler::notEqual; |
|
2009 ShouldNotReachHere(); |
2009 } |
2010 } |
2010 |
2011 |
2011 if (opr1->is_cpu_register()) { |
2012 if (opr1->is_cpu_register()) { |
2012 reg2reg(opr1, result); |
2013 reg2reg(opr1, result); |
2013 } else if (opr1->is_stack()) { |
2014 } else if (opr1->is_stack()) { |
3180 } |
3181 } |
3181 |
3182 |
3182 assert(default_type != NULL && default_type->is_array_klass() && default_type->is_loaded(), "must be true at this point"); |
3183 assert(default_type != NULL && default_type->is_array_klass() && default_type->is_loaded(), "must be true at this point"); |
3183 |
3184 |
3184 int elem_size = type2aelembytes(basic_type); |
3185 int elem_size = type2aelembytes(basic_type); |
3185 int shift_amount; |
|
3186 Address::ScaleFactor scale; |
3186 Address::ScaleFactor scale; |
3187 |
3187 |
3188 switch (elem_size) { |
3188 switch (elem_size) { |
3189 case 1 : |
3189 case 1 : |
3190 shift_amount = 0; |
|
3191 scale = Address::times_1; |
3190 scale = Address::times_1; |
3192 break; |
3191 break; |
3193 case 2 : |
3192 case 2 : |
3194 shift_amount = 1; |
|
3195 scale = Address::times_2; |
3193 scale = Address::times_2; |
3196 break; |
3194 break; |
3197 case 4 : |
3195 case 4 : |
3198 shift_amount = 2; |
|
3199 scale = Address::times_4; |
3196 scale = Address::times_4; |
3200 break; |
3197 break; |
3201 case 8 : |
3198 case 8 : |
3202 shift_amount = 3; |
|
3203 scale = Address::times_8; |
3199 scale = Address::times_8; |
3204 break; |
3200 break; |
3205 default: |
3201 default: |
|
3202 scale = Address::no_scale; |
3206 ShouldNotReachHere(); |
3203 ShouldNotReachHere(); |
3207 } |
3204 } |
3208 |
3205 |
3209 Address src_length_addr = Address(src, arrayOopDesc::length_offset_in_bytes()); |
3206 Address src_length_addr = Address(src, arrayOopDesc::length_offset_in_bytes()); |
3210 Address dst_length_addr = Address(dst, arrayOopDesc::length_offset_in_bytes()); |
3207 Address dst_length_addr = Address(dst, arrayOopDesc::length_offset_in_bytes()); |