1200 void zero_words(Register base, Register cnt);
1201 void block_zero(Register base, Register cnt, bool is_large = false);
1202
1203 void byte_array_inflate(Register src, Register dst, Register len,
1204 FloatRegister vtmp1, FloatRegister vtmp2,
1205 FloatRegister vtmp3, Register tmp4);
1206
1207 void char_array_compress(Register src, Register dst, Register len,
1208 FloatRegister tmp1Reg, FloatRegister tmp2Reg,
1209 FloatRegister tmp3Reg, FloatRegister tmp4Reg,
1210 Register result);
1211
1212 void encode_iso_array(Register src, Register dst,
1213 Register len, Register result,
1214 FloatRegister Vtmp1, FloatRegister Vtmp2,
1215 FloatRegister Vtmp3, FloatRegister Vtmp4);
1216 void string_indexof(Register str1, Register str2,
1217 Register cnt1, Register cnt2,
1218 Register tmp1, Register tmp2,
1219 Register tmp3, Register tmp4,
1220 int int_cnt1, Register result);
1221 private:
1222 void add2_with_carry(Register final_dest_hi, Register dest_hi, Register dest_lo,
1223 Register src1, Register src2);
1224 void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2) {
1225 add2_with_carry(dest_hi, dest_hi, dest_lo, src1, src2);
1226 }
1227 void multiply_64_x_64_loop(Register x, Register xstart, Register x_xstart,
1228 Register y, Register y_idx, Register z,
1229 Register carry, Register product,
1230 Register idx, Register kdx);
1231 void multiply_128_x_128_loop(Register y, Register z,
1232 Register carry, Register carry2,
1233 Register idx, Register jdx,
1234 Register yz_idx1, Register yz_idx2,
1235 Register tmp, Register tmp3, Register tmp4,
1236 Register tmp7, Register product_hi);
1237 public:
1238 void multiply_to_len(Register x, Register xlen, Register y, Register ylen, Register z,
1239 Register zlen, Register tmp1, Register tmp2, Register tmp3,
1240 Register tmp4, Register tmp5, Register tmp6, Register tmp7);
|
1200 void zero_words(Register base, Register cnt);
1201 void block_zero(Register base, Register cnt, bool is_large = false);
1202
1203 void byte_array_inflate(Register src, Register dst, Register len,
1204 FloatRegister vtmp1, FloatRegister vtmp2,
1205 FloatRegister vtmp3, Register tmp4);
1206
1207 void char_array_compress(Register src, Register dst, Register len,
1208 FloatRegister tmp1Reg, FloatRegister tmp2Reg,
1209 FloatRegister tmp3Reg, FloatRegister tmp4Reg,
1210 Register result);
1211
1212 void encode_iso_array(Register src, Register dst,
1213 Register len, Register result,
1214 FloatRegister Vtmp1, FloatRegister Vtmp2,
1215 FloatRegister Vtmp3, FloatRegister Vtmp4);
1216 void string_indexof(Register str1, Register str2,
1217 Register cnt1, Register cnt2,
1218 Register tmp1, Register tmp2,
1219 Register tmp3, Register tmp4,
1220 int int_cnt1, Register result, int ae);
1221 private:
1222 void add2_with_carry(Register final_dest_hi, Register dest_hi, Register dest_lo,
1223 Register src1, Register src2);
1224 void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2) {
1225 add2_with_carry(dest_hi, dest_hi, dest_lo, src1, src2);
1226 }
1227 void multiply_64_x_64_loop(Register x, Register xstart, Register x_xstart,
1228 Register y, Register y_idx, Register z,
1229 Register carry, Register product,
1230 Register idx, Register kdx);
1231 void multiply_128_x_128_loop(Register y, Register z,
1232 Register carry, Register carry2,
1233 Register idx, Register jdx,
1234 Register yz_idx1, Register yz_idx2,
1235 Register tmp, Register tmp3, Register tmp4,
1236 Register tmp7, Register product_hi);
1237 public:
1238 void multiply_to_len(Register x, Register xlen, Register y, Register ylen, Register z,
1239 Register zlen, Register tmp1, Register tmp2, Register tmp3,
1240 Register tmp4, Register tmp5, Register tmp6, Register tmp7);
|