1192 unsigned long offset; 1193 adrp(dest, InternalAddress(const_addr.target()), offset); 1194 ldr(dest, Address(dest, offset)); 1195 } 1196 } 1197 1198 address read_polling_page(Register r, address page, relocInfo::relocType rtype); 1199 address read_polling_page(Register r, relocInfo::relocType rtype); 1200 1201 // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic. 1202 void update_byte_crc32(Register crc, Register val, Register table); 1203 void update_word_crc32(Register crc, Register v, Register tmp, 1204 Register table0, Register table1, Register table2, Register table3, 1205 bool upper = false); 1206 1207 void string_compare(Register str1, Register str2, 1208 Register cnt1, Register cnt2, Register result, 1209 Register tmp1, 1210 FloatRegister vtmp, FloatRegister vtmpZ, int ae); 1211 1212 void arrays_equals(Register a1, Register a2, 1213 Register result, Register cnt1, 1214 int elem_size, bool is_string); 1215 1216 void fill_words(Register base, Register cnt, Register value); 1217 void zero_words(Register base, u_int64_t cnt); 1218 void zero_words(Register ptr, Register cnt); 1219 void zero_dcache_blocks(Register base, Register cnt); 1220 1221 static const int zero_words_block_size; 1222 1223 void byte_array_inflate(Register src, Register dst, Register len, 1224 FloatRegister vtmp1, FloatRegister vtmp2, 1225 FloatRegister vtmp3, Register tmp4); 1226 1227 void char_array_compress(Register src, Register dst, Register len, 1228 FloatRegister tmp1Reg, FloatRegister tmp2Reg, 1229 FloatRegister tmp3Reg, FloatRegister tmp4Reg, 1230 Register result); 1231 | 1192 unsigned long offset; 1193 adrp(dest, InternalAddress(const_addr.target()), offset); 1194 ldr(dest, Address(dest, offset)); 1195 } 1196 } 1197 1198 address read_polling_page(Register r, address page, relocInfo::relocType rtype); 1199 address read_polling_page(Register r, relocInfo::relocType rtype); 1200 1201 // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic. 1202 void update_byte_crc32(Register crc, Register val, Register table); 1203 void update_word_crc32(Register crc, Register v, Register tmp, 1204 Register table0, Register table1, Register table2, Register table3, 1205 bool upper = false); 1206 1207 void string_compare(Register str1, Register str2, 1208 Register cnt1, Register cnt2, Register result, 1209 Register tmp1, 1210 FloatRegister vtmp, FloatRegister vtmpZ, int ae); 1211 1212 void has_negatives(Register ary1, Register len, Register result); 1213 1214 void arrays_equals(Register a1, Register a2, 1215 Register result, Register cnt1, 1216 int elem_size, bool is_string); 1217 1218 void fill_words(Register base, Register cnt, Register value); 1219 void zero_words(Register base, u_int64_t cnt); 1220 void zero_words(Register ptr, Register cnt); 1221 void zero_dcache_blocks(Register base, Register cnt); 1222 1223 static const int zero_words_block_size; 1224 1225 void byte_array_inflate(Register src, Register dst, Register len, 1226 FloatRegister vtmp1, FloatRegister vtmp2, 1227 FloatRegister vtmp3, Register tmp4); 1228 1229 void char_array_compress(Register src, Register dst, Register len, 1230 FloatRegister tmp1Reg, FloatRegister tmp2Reg, 1231 FloatRegister tmp3Reg, FloatRegister tmp4Reg, 1232 Register result); 1233 |