< prev index next >

src/cpu/sparc/vm/macroAssembler_sparc.hpp

Print this page




1375                           Register tmp1, Register tmp2, Register tmp3, Register tmp4,
1376                           FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, Label& Ldone);
1377 
1378   // Compress char[] to byte[]. Return 0 on failure.
1379   void string_compress(Register src, Register dst, Register cnt, Register tmp, Register result, Label& Ldone);
1380 
1381   // Inflate byte[] to char[] by inflating 16 bytes at once.
1382   void string_inflate_16(Register src, Register dst, Register cnt, Register tmp,
1383                          FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, FloatRegister ftmp4, Label& Ldone);
1384 
1385   // Inflate byte[] to char[].
1386   void string_inflate(Register src, Register dst, Register cnt, Register tmp, Label& Ldone);
1387 
1388   void string_compare(Register str1, Register str2,
1389                       Register cnt1, Register cnt2,
1390                       Register tmp1, Register tmp2,
1391                       Register result, int ae);
1392 
1393   void array_equals(bool is_array_equ, Register ary1, Register ary2,
1394                     Register limit, Register tmp, Register result, bool is_byte);





1395 #endif
1396 
1397   // Use BIS for zeroing
1398   void bis_zeroing(Register to, Register count, Register temp, Label& Ldone);
1399 
1400   // Update CRC-32[C] with a byte value according to constants in table
1401   void update_byte_crc32(Register crc, Register val, Register table);
1402 
1403   // Reverse byte order of lower 32 bits, assuming upper 32 bits all zeros
1404   void reverse_bytes_32(Register src, Register dst, Register tmp);
1405   void movitof_revbytes(Register src, FloatRegister dst, Register tmp1, Register tmp2);
1406   void movftoi_revbytes(FloatRegister src, Register dst, Register tmp1, Register tmp2);
1407 
1408   // CRC32 code for java.util.zip.CRC32::updateBytes0() instrinsic.
1409   void kernel_crc32(Register crc, Register buf, Register len, Register table);
1410   // Fold 128-bit data chunk
1411   void fold_128bit_crc32(Register xcrc_hi, Register xcrc_lo, Register xK_hi, Register xK_lo, Register xtmp_hi, Register xtmp_lo, Register buf, int offset);
1412   void fold_128bit_crc32(Register xcrc_hi, Register xcrc_lo, Register xK_hi, Register xK_lo, Register xtmp_hi, Register xtmp_lo, Register xbuf_hi, Register xbuf_lo);
1413   // Fold 8-bit data
1414   void fold_8bit_crc32(Register xcrc, Register table, Register xtmp, Register tmp);




1375                           Register tmp1, Register tmp2, Register tmp3, Register tmp4,
1376                           FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, Label& Ldone);
1377 
1378   // Compress char[] to byte[]. Return 0 on failure.
1379   void string_compress(Register src, Register dst, Register cnt, Register tmp, Register result, Label& Ldone);
1380 
1381   // Inflate byte[] to char[] by inflating 16 bytes at once.
1382   void string_inflate_16(Register src, Register dst, Register cnt, Register tmp,
1383                          FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, FloatRegister ftmp4, Label& Ldone);
1384 
1385   // Inflate byte[] to char[].
1386   void string_inflate(Register src, Register dst, Register cnt, Register tmp, Label& Ldone);
1387 
1388   void string_compare(Register str1, Register str2,
1389                       Register cnt1, Register cnt2,
1390                       Register tmp1, Register tmp2,
1391                       Register result, int ae);
1392 
1393   void array_equals(bool is_array_equ, Register ary1, Register ary2,
1394                     Register limit, Register tmp, Register result, bool is_byte);
1395   // test for negative bytes in input string of a given size, result 0 if none
1396   void has_negatives(Register inp, Register size, Register result,
1397                      Register t2, Register t3, Register t4,
1398                      Register t5, Register t6);
1399 
1400 #endif
1401 
1402   // Use BIS for zeroing
1403   void bis_zeroing(Register to, Register count, Register temp, Label& Ldone);
1404 
1405   // Update CRC-32[C] with a byte value according to constants in table
1406   void update_byte_crc32(Register crc, Register val, Register table);
1407 
1408   // Reverse byte order of lower 32 bits, assuming upper 32 bits all zeros
1409   void reverse_bytes_32(Register src, Register dst, Register tmp);
1410   void movitof_revbytes(Register src, FloatRegister dst, Register tmp1, Register tmp2);
1411   void movftoi_revbytes(FloatRegister src, Register dst, Register tmp1, Register tmp2);
1412 
1413   // CRC32 code for java.util.zip.CRC32::updateBytes0() instrinsic.
1414   void kernel_crc32(Register crc, Register buf, Register len, Register table);
1415   // Fold 128-bit data chunk
1416   void fold_128bit_crc32(Register xcrc_hi, Register xcrc_lo, Register xK_hi, Register xK_lo, Register xtmp_hi, Register xtmp_lo, Register buf, int offset);
1417   void fold_128bit_crc32(Register xcrc_hi, Register xcrc_lo, Register xK_hi, Register xK_lo, Register xtmp_hi, Register xtmp_lo, Register xbuf_hi, Register xbuf_lo);
1418   // Fold 8-bit data
1419   void fold_8bit_crc32(Register xcrc, Register table, Register xtmp, Register tmp);


< prev index next >