1170
1171 void ldr_constant(Register dest, const Address &const_addr) {
1172 if (NearCpool) {
1173 ldr(dest, const_addr);
1174 } else {
1175 unsigned long offset;
1176 adrp(dest, InternalAddress(const_addr.target()), offset);
1177 ldr(dest, Address(dest, offset));
1178 }
1179 }
1180
1181 address read_polling_page(Register r, address page, relocInfo::relocType rtype);
1182 address read_polling_page(Register r, relocInfo::relocType rtype);
1183
1184 // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
1185 void update_byte_crc32(Register crc, Register val, Register table);
1186 void update_word_crc32(Register crc, Register v, Register tmp,
1187 Register table0, Register table1, Register table2, Register table3,
1188 bool upper = false);
1189
1190 void string_compare(Register str1, Register str2,
1191 Register cnt1, Register cnt2, Register result,
1192 Register tmp1);
1193
1194 void arrays_equals(Register a1, Register a2,
1195 Register result, Register cnt1,
1196 int elem_size, bool is_string);
1197
1198 void fill_words(Register base, Register cnt, Register value);
1199 void zero_words(Register base, u_int64_t cnt);
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,
|
1170
1171 void ldr_constant(Register dest, const Address &const_addr) {
1172 if (NearCpool) {
1173 ldr(dest, const_addr);
1174 } else {
1175 unsigned long offset;
1176 adrp(dest, InternalAddress(const_addr.target()), offset);
1177 ldr(dest, Address(dest, offset));
1178 }
1179 }
1180
1181 address read_polling_page(Register r, address page, relocInfo::relocType rtype);
1182 address read_polling_page(Register r, relocInfo::relocType rtype);
1183
1184 // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
1185 void update_byte_crc32(Register crc, Register val, Register table);
1186 void update_word_crc32(Register crc, Register v, Register tmp,
1187 Register table0, Register table1, Register table2, Register table3,
1188 bool upper = false);
1189
1190 void string_compare_simd(Register str1, Register str2,
1191 Register cnt1, Register cnt2, Register result,
1192 FloatRegister vtmp1, FloatRegister vtmp2,
1193 FloatRegister vtmpZ, int ae);
1194 void string_compare(Register str1, Register str2,
1195 Register cnt1, Register cnt2, Register result,
1196 Register tmp1, int ae);
1197
1198 void arrays_equals(Register a1, Register a2,
1199 Register result, Register cnt1,
1200 int elem_size, bool is_string);
1201
1202 void fill_words(Register base, Register cnt, Register value);
1203 void zero_words(Register base, u_int64_t cnt);
1204 void zero_words(Register base, Register cnt);
1205 void block_zero(Register base, Register cnt, bool is_large = false);
1206
1207 void byte_array_inflate(Register src, Register dst, Register len,
1208 FloatRegister vtmp1, FloatRegister vtmp2,
1209 FloatRegister vtmp3, Register tmp4);
1210
1211 void char_array_compress(Register src, Register dst, Register len,
1212 FloatRegister tmp1Reg, FloatRegister tmp2Reg,
1213 FloatRegister tmp3Reg, FloatRegister tmp4Reg,
1214 Register result);
1215
1216 void encode_iso_array(Register src, Register dst,
|