111 static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; } 112 113 #endif // !LP64 114 115 private: 116 static address _verify_mxcsr_entry; 117 // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers 118 static address _key_shuffle_mask_addr; 119 120 //shuffle mask for big-endian 128-bit integers 121 static address _counter_shuffle_mask_addr; 122 123 // masks and table for CRC32 124 static uint64_t _crc_by128_masks[]; 125 static juint _crc_table[]; 126 // table for CRC32C 127 static juint* _crc32c_table; 128 // swap mask for ghash 129 static address _ghash_long_swap_mask_addr; 130 static address _ghash_byte_swap_mask_addr; 131 132 // upper word mask for sha1 133 static address _upper_word_mask_addr; 134 // byte flip mask for sha1 135 static address _shuffle_byte_flip_mask_addr; 136 137 //k256 table for sha256 138 static juint _k256[]; 139 static address _k256_adr; 140 #ifdef _LP64 141 static juint _k256_W[]; 142 static address _k256_W_adr; 143 static julong _k512_W[]; 144 static address _k512_W_addr; 145 // byte flip mask for sha512 146 static address _pshuffle_byte_flip_mask_addr_sha512; 147 // Masks for base64 148 static address _base64_charset; 149 static address _bswap_mask; 150 static address _gather_mask; 188 189 //tables common for LIBM sincos and tancot 190 static juint _L_2il0floatpacket_0[]; 191 static address _L_2il0floatpacket_0_adr; 192 static juint _Pi4Inv[]; 193 static address _Pi4Inv_adr; 194 static juint _Pi4x3[]; 195 static address _Pi4x3_adr; 196 static juint _Pi4x4[]; 197 static address _Pi4x4_adr; 198 static juint _ones[]; 199 static address _ones_adr; 200 201 public: 202 static address verify_mxcsr_entry() { return _verify_mxcsr_entry; } 203 static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; } 204 static address counter_shuffle_mask_addr() { return _counter_shuffle_mask_addr; } 205 static address crc_by128_masks_addr() { return (address)_crc_by128_masks; } 206 static address ghash_long_swap_mask_addr() { return _ghash_long_swap_mask_addr; } 207 static address ghash_byte_swap_mask_addr() { return _ghash_byte_swap_mask_addr; } 208 static address upper_word_mask_addr() { return _upper_word_mask_addr; } 209 static address shuffle_byte_flip_mask_addr() { return _shuffle_byte_flip_mask_addr; } 210 static address k256_addr() { return _k256_adr; } 211 #ifdef _LP64 212 static address k256_W_addr() { return _k256_W_adr; } 213 static address k512_W_addr() { return _k512_W_addr; } 214 static address pshuffle_byte_flip_mask_addr_sha512() { return _pshuffle_byte_flip_mask_addr_sha512; } 215 static address base64_charset_addr() { return _base64_charset; } 216 static address base64url_charset_addr() { return _url_charset; } 217 static address base64_bswap_mask_addr() { return _bswap_mask; } 218 static address base64_gather_mask_addr() { return _gather_mask; } 219 static address base64_right_shift_mask_addr() { return _right_shift_mask; } 220 static address base64_left_shift_mask_addr() { return _left_shift_mask; } 221 static address base64_and_mask_addr() { return _and_mask; } 222 #endif 223 static address pshuffle_byte_flip_mask_addr() { return _pshuffle_byte_flip_mask_addr; } 224 static void generate_CRC32C_table(bool is_pclmulqdq_supported); 225 static address _ONEHALF_addr() { return _ONEHALF_adr; } 226 static address _P_2_addr() { return _P_2_adr; } 227 static address _SC_4_addr() { return _SC_4_adr; } | 111 static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; } 112 113 #endif // !LP64 114 115 private: 116 static address _verify_mxcsr_entry; 117 // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers 118 static address _key_shuffle_mask_addr; 119 120 //shuffle mask for big-endian 128-bit integers 121 static address _counter_shuffle_mask_addr; 122 123 // masks and table for CRC32 124 static uint64_t _crc_by128_masks[]; 125 static juint _crc_table[]; 126 // table for CRC32C 127 static juint* _crc32c_table; 128 // swap mask for ghash 129 static address _ghash_long_swap_mask_addr; 130 static address _ghash_byte_swap_mask_addr; 131 static address _ghash_poly_addr; 132 static address _ghash_shuffmask_addr; 133 134 // upper word mask for sha1 135 static address _upper_word_mask_addr; 136 // byte flip mask for sha1 137 static address _shuffle_byte_flip_mask_addr; 138 139 //k256 table for sha256 140 static juint _k256[]; 141 static address _k256_adr; 142 #ifdef _LP64 143 static juint _k256_W[]; 144 static address _k256_W_adr; 145 static julong _k512_W[]; 146 static address _k512_W_addr; 147 // byte flip mask for sha512 148 static address _pshuffle_byte_flip_mask_addr_sha512; 149 // Masks for base64 150 static address _base64_charset; 151 static address _bswap_mask; 152 static address _gather_mask; 190 191 //tables common for LIBM sincos and tancot 192 static juint _L_2il0floatpacket_0[]; 193 static address _L_2il0floatpacket_0_adr; 194 static juint _Pi4Inv[]; 195 static address _Pi4Inv_adr; 196 static juint _Pi4x3[]; 197 static address _Pi4x3_adr; 198 static juint _Pi4x4[]; 199 static address _Pi4x4_adr; 200 static juint _ones[]; 201 static address _ones_adr; 202 203 public: 204 static address verify_mxcsr_entry() { return _verify_mxcsr_entry; } 205 static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; } 206 static address counter_shuffle_mask_addr() { return _counter_shuffle_mask_addr; } 207 static address crc_by128_masks_addr() { return (address)_crc_by128_masks; } 208 static address ghash_long_swap_mask_addr() { return _ghash_long_swap_mask_addr; } 209 static address ghash_byte_swap_mask_addr() { return _ghash_byte_swap_mask_addr; } 210 static address ghash_shufflemask_addr() { return _ghash_shuffmask_addr; } 211 static address ghash_polynomial_addr() { return _ghash_poly_addr; } 212 static address upper_word_mask_addr() { return _upper_word_mask_addr; } 213 static address shuffle_byte_flip_mask_addr() { return _shuffle_byte_flip_mask_addr; } 214 static address k256_addr() { return _k256_adr; } 215 #ifdef _LP64 216 static address k256_W_addr() { return _k256_W_adr; } 217 static address k512_W_addr() { return _k512_W_addr; } 218 static address pshuffle_byte_flip_mask_addr_sha512() { return _pshuffle_byte_flip_mask_addr_sha512; } 219 static address base64_charset_addr() { return _base64_charset; } 220 static address base64url_charset_addr() { return _url_charset; } 221 static address base64_bswap_mask_addr() { return _bswap_mask; } 222 static address base64_gather_mask_addr() { return _gather_mask; } 223 static address base64_right_shift_mask_addr() { return _right_shift_mask; } 224 static address base64_left_shift_mask_addr() { return _left_shift_mask; } 225 static address base64_and_mask_addr() { return _and_mask; } 226 #endif 227 static address pshuffle_byte_flip_mask_addr() { return _pshuffle_byte_flip_mask_addr; } 228 static void generate_CRC32C_table(bool is_pclmulqdq_supported); 229 static address _ONEHALF_addr() { return _ONEHALF_adr; } 230 static address _P_2_addr() { return _P_2_adr; } 231 static address _SC_4_addr() { return _SC_4_adr; } |