85 86 static address d2l_fixup() { 87 return _d2l_fixup; 88 } 89 90 static address float_sign_mask() { 91 return _float_sign_mask; 92 } 93 94 static address float_sign_flip() { 95 return _float_sign_flip; 96 } 97 98 static address double_sign_mask() { 99 return _double_sign_mask; 100 } 101 102 static address double_sign_flip() { 103 return _double_sign_flip; 104 } 105 #else // !LP64 106 107 private: 108 static address _verify_fpu_cntrl_wrd_entry; 109 110 public: 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; 153 static address _right_shift_mask; 154 static address _left_shift_mask; 155 static address _and_mask; 156 static address _url_charset; 157 #endif 158 // byte flip mask for sha256 159 static address _pshuffle_byte_flip_mask_addr; 160 161 //tables common for LIBM sin and cos 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; } 232 static address _Ctable_addr() { return _Ctable_adr; } 233 static address _SC_2_addr() { return _SC_2_adr; } 234 static address _SC_3_addr() { return _SC_3_adr; } | 85 86 static address d2l_fixup() { 87 return _d2l_fixup; 88 } 89 90 static address float_sign_mask() { 91 return _float_sign_mask; 92 } 93 94 static address float_sign_flip() { 95 return _float_sign_flip; 96 } 97 98 static address double_sign_mask() { 99 return _double_sign_mask; 100 } 101 102 static address double_sign_flip() { 103 return _double_sign_flip; 104 } 105 106 #else // !LP64 107 108 private: 109 static address _verify_fpu_cntrl_wrd_entry; 110 111 public: 112 static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; } 113 114 #endif // !LP64 115 116 private: 117 static address _verify_mxcsr_entry; 118 // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers 119 static address _key_shuffle_mask_addr; 120 121 //shuffle mask for big-endian 128-bit integers 122 static address _counter_shuffle_mask_addr; 123 124 // masks and table for CRC32 125 static uint64_t _crc_by128_masks[]; 126 static juint _crc_table[]; 127 // table for CRC32C 128 static juint* _crc32c_table; 129 // swap mask for ghash 130 static address _ghash_long_swap_mask_addr; 131 static address _ghash_byte_swap_mask_addr; 132 static address _ghash_poly_addr; 133 static address _ghash_shuffmask_addr; 134 135 // upper word mask for sha1 136 static address _upper_word_mask_addr; 137 // byte flip mask for sha1 138 static address _shuffle_byte_flip_mask_addr; 139 140 //k256 table for sha256 141 static juint _k256[]; 142 static address _k256_adr; 143 static address _vector_short_to_byte_mask; 144 static address _vector_float_sign_mask; 145 static address _vector_float_sign_flip; 146 static address _vector_double_sign_mask; 147 static address _vector_double_sign_flip; 148 static address _vector_byte_perm_mask; 149 static address _vector_long_sign_mask; 150 #ifdef _LP64 151 static juint _k256_W[]; 152 static address _k256_W_adr; 153 static julong _k512_W[]; 154 static address _k512_W_addr; 155 // byte flip mask for sha512 156 static address _pshuffle_byte_flip_mask_addr_sha512; 157 // Masks for base64 158 static address _base64_charset; 159 static address _bswap_mask; 160 static address _gather_mask; 161 static address _right_shift_mask; 162 static address _left_shift_mask; 163 static address _and_mask; 164 static address _url_charset; 165 #endif 166 // byte flip mask for sha256 167 static address _pshuffle_byte_flip_mask_addr; 168 169 //tables common for LIBM sin and cos 203 static address _Pi4Inv_adr; 204 static juint _Pi4x3[]; 205 static address _Pi4x3_adr; 206 static juint _Pi4x4[]; 207 static address _Pi4x4_adr; 208 static juint _ones[]; 209 static address _ones_adr; 210 211 public: 212 static address verify_mxcsr_entry() { return _verify_mxcsr_entry; } 213 static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; } 214 static address counter_shuffle_mask_addr() { return _counter_shuffle_mask_addr; } 215 static address crc_by128_masks_addr() { return (address)_crc_by128_masks; } 216 static address ghash_long_swap_mask_addr() { return _ghash_long_swap_mask_addr; } 217 static address ghash_byte_swap_mask_addr() { return _ghash_byte_swap_mask_addr; } 218 static address ghash_shufflemask_addr() { return _ghash_shuffmask_addr; } 219 static address ghash_polynomial_addr() { return _ghash_poly_addr; } 220 static address upper_word_mask_addr() { return _upper_word_mask_addr; } 221 static address shuffle_byte_flip_mask_addr() { return _shuffle_byte_flip_mask_addr; } 222 static address k256_addr() { return _k256_adr; } 223 224 static address vector_short_to_byte_mask() { 225 return _vector_short_to_byte_mask; 226 } 227 static address vector_float_sign_mask() { 228 return _vector_float_sign_mask; 229 } 230 231 static address vector_float_sign_flip() { 232 return _vector_float_sign_flip; 233 } 234 235 static address vector_double_sign_mask() { 236 return _vector_double_sign_mask; 237 } 238 239 static address vector_double_sign_flip() { 240 return _vector_double_sign_flip; 241 } 242 243 static address vector_byte_perm_mask() { 244 return _vector_byte_perm_mask; 245 } 246 247 static address vector_long_sign_mask() { 248 return _vector_long_sign_mask; 249 } 250 #ifdef _LP64 251 static address k256_W_addr() { return _k256_W_adr; } 252 static address k512_W_addr() { return _k512_W_addr; } 253 static address pshuffle_byte_flip_mask_addr_sha512() { return _pshuffle_byte_flip_mask_addr_sha512; } 254 static address base64_charset_addr() { return _base64_charset; } 255 static address base64url_charset_addr() { return _url_charset; } 256 static address base64_bswap_mask_addr() { return _bswap_mask; } 257 static address base64_gather_mask_addr() { return _gather_mask; } 258 static address base64_right_shift_mask_addr() { return _right_shift_mask; } 259 static address base64_left_shift_mask_addr() { return _left_shift_mask; } 260 static address base64_and_mask_addr() { return _and_mask; } 261 #endif 262 static address pshuffle_byte_flip_mask_addr() { return _pshuffle_byte_flip_mask_addr; } 263 static void generate_CRC32C_table(bool is_pclmulqdq_supported); 264 static address _ONEHALF_addr() { return _ONEHALF_adr; } 265 static address _P_2_addr() { return _P_2_adr; } 266 static address _SC_4_addr() { return _SC_4_adr; } 267 static address _Ctable_addr() { return _Ctable_adr; } 268 static address _SC_2_addr() { return _SC_2_adr; } 269 static address _SC_3_addr() { return _SC_3_adr; } |