< prev index next >

src/cpu/aarch64/vm/macroAssembler_aarch64.hpp

Print this page
rev 10083 : 8149100: AArch64: "bad AD file" for LL enconding AryEq Node matching
Summary: add byte array equal support for aarch64
Reviewed-by: duke


1174     }
1175   }
1176 
1177   address read_polling_page(Register r, address page, relocInfo::relocType rtype);
1178   address read_polling_page(Register r, relocInfo::relocType rtype);
1179 
1180   // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
1181   void update_byte_crc32(Register crc, Register val, Register table);
1182   void update_word_crc32(Register crc, Register v, Register tmp,
1183         Register table0, Register table1, Register table2, Register table3,
1184         bool upper = false);
1185 
1186   void string_compare(Register str1, Register str2,
1187                       Register cnt1, Register cnt2, Register result,
1188                       Register tmp1);
1189   void string_equals(Register str1, Register str2,
1190                      Register cnt, Register result,
1191                      Register tmp1);
1192   void char_arrays_equals(Register ary1, Register ary2,
1193                           Register result, Register tmp1);


1194   void encode_iso_array(Register src, Register dst,
1195                         Register len, Register result,
1196                         FloatRegister Vtmp1, FloatRegister Vtmp2,
1197                         FloatRegister Vtmp3, FloatRegister Vtmp4);
1198   void string_indexof(Register str1, Register str2,
1199                       Register cnt1, Register cnt2,
1200                       Register tmp1, Register tmp2,
1201                       Register tmp3, Register tmp4,
1202                       int int_cnt1, Register result);
1203 private:
1204   void add2_with_carry(Register final_dest_hi, Register dest_hi, Register dest_lo,
1205                        Register src1, Register src2);
1206   void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2) {
1207     add2_with_carry(dest_hi, dest_hi, dest_lo, src1, src2);
1208   }
1209   void multiply_64_x_64_loop(Register x, Register xstart, Register x_xstart,
1210                              Register y, Register y_idx, Register z,
1211                              Register carry, Register product,
1212                              Register idx, Register kdx);
1213   void multiply_128_x_128_loop(Register y, Register z,




1174     }
1175   }
1176 
1177   address read_polling_page(Register r, address page, relocInfo::relocType rtype);
1178   address read_polling_page(Register r, relocInfo::relocType rtype);
1179 
1180   // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
1181   void update_byte_crc32(Register crc, Register val, Register table);
1182   void update_word_crc32(Register crc, Register v, Register tmp,
1183         Register table0, Register table1, Register table2, Register table3,
1184         bool upper = false);
1185 
1186   void string_compare(Register str1, Register str2,
1187                       Register cnt1, Register cnt2, Register result,
1188                       Register tmp1);
1189   void string_equals(Register str1, Register str2,
1190                      Register cnt, Register result,
1191                      Register tmp1);
1192   void char_arrays_equals(Register ary1, Register ary2,
1193                           Register result, Register tmp1);
1194   void byte_arrays_equals(Register ary1, Register ary2,
1195                           Register result, Register tmp1);
1196   void encode_iso_array(Register src, Register dst,
1197                         Register len, Register result,
1198                         FloatRegister Vtmp1, FloatRegister Vtmp2,
1199                         FloatRegister Vtmp3, FloatRegister Vtmp4);
1200   void string_indexof(Register str1, Register str2,
1201                       Register cnt1, Register cnt2,
1202                       Register tmp1, Register tmp2,
1203                       Register tmp3, Register tmp4,
1204                       int int_cnt1, Register result);
1205 private:
1206   void add2_with_carry(Register final_dest_hi, Register dest_hi, Register dest_lo,
1207                        Register src1, Register src2);
1208   void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2) {
1209     add2_with_carry(dest_hi, dest_hi, dest_lo, src1, src2);
1210   }
1211   void multiply_64_x_64_loop(Register x, Register xstart, Register x_xstart,
1212                              Register y, Register y_idx, Register z,
1213                              Register carry, Register product,
1214                              Register idx, Register kdx);
1215   void multiply_128_x_128_loop(Register y, Register z,


< prev index next >