180 181 // zero heap space aligned to jlong (8 bytes) 182 static address _zero_aligned_words; 183 184 static address _aescrypt_encryptBlock; 185 static address _aescrypt_decryptBlock; 186 static address _cipherBlockChaining_encryptAESCrypt; 187 static address _cipherBlockChaining_decryptAESCrypt; 188 static address _ghash_processBlocks; 189 190 static address _sha1_implCompress; 191 static address _sha1_implCompressMB; 192 static address _sha256_implCompress; 193 static address _sha256_implCompressMB; 194 static address _sha512_implCompress; 195 static address _sha512_implCompressMB; 196 197 static address _updateBytesCRC32; 198 static address _crc_table_adr; 199 200 static address _multiplyToLen; 201 static address _squareToLen; 202 static address _mulAdd; 203 204 // These are versions of the java.lang.Math methods which perform 205 // the same operations as the intrinsic version. They are used for 206 // constant folding in the compiler to ensure equivalence. If the 207 // intrinsic version returns the same result as the strict version 208 // then they can be set to the appropriate function from 209 // SharedRuntime. 210 static double (*_intrinsic_log)(double); 211 static double (*_intrinsic_log10)(double); 212 static double (*_intrinsic_exp)(double); 213 static double (*_intrinsic_pow)(double, double); 214 static double (*_intrinsic_sin)(double); 215 static double (*_intrinsic_cos)(double); 216 static double (*_intrinsic_tan)(double); 217 218 // Safefetch stubs. 219 static address _safefetch32_entry; 342 static address arrayof_jbyte_fill() { return _arrayof_jbyte_fill; } 343 static address arrayof_jshort_fill() { return _arrayof_jshort_fill; } 344 static address arrayof_jint_fill() { return _arrayof_jint_fill; } 345 346 static address aescrypt_encryptBlock() { return _aescrypt_encryptBlock; } 347 static address aescrypt_decryptBlock() { return _aescrypt_decryptBlock; } 348 static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; } 349 static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; } 350 static address ghash_processBlocks() { return _ghash_processBlocks; } 351 352 static address sha1_implCompress() { return _sha1_implCompress; } 353 static address sha1_implCompressMB() { return _sha1_implCompressMB; } 354 static address sha256_implCompress() { return _sha256_implCompress; } 355 static address sha256_implCompressMB() { return _sha256_implCompressMB; } 356 static address sha512_implCompress() { return _sha512_implCompress; } 357 static address sha512_implCompressMB() { return _sha512_implCompressMB; } 358 359 static address updateBytesCRC32() { return _updateBytesCRC32; } 360 static address crc_table_addr() { return _crc_table_adr; } 361 362 static address multiplyToLen() {return _multiplyToLen; } 363 static address squareToLen() {return _squareToLen; } 364 static address mulAdd() {return _mulAdd; } 365 366 static address select_fill_function(BasicType t, bool aligned, const char* &name); 367 368 static address zero_aligned_words() { return _zero_aligned_words; } 369 370 static double intrinsic_log(double d) { 371 assert(_intrinsic_log != NULL, "must be defined"); 372 return _intrinsic_log(d); 373 } 374 static double intrinsic_log10(double d) { 375 assert(_intrinsic_log != NULL, "must be defined"); 376 return _intrinsic_log10(d); 377 } 378 static double intrinsic_exp(double d) { 379 assert(_intrinsic_exp != NULL, "must be defined"); 380 return _intrinsic_exp(d); 381 } | 180 181 // zero heap space aligned to jlong (8 bytes) 182 static address _zero_aligned_words; 183 184 static address _aescrypt_encryptBlock; 185 static address _aescrypt_decryptBlock; 186 static address _cipherBlockChaining_encryptAESCrypt; 187 static address _cipherBlockChaining_decryptAESCrypt; 188 static address _ghash_processBlocks; 189 190 static address _sha1_implCompress; 191 static address _sha1_implCompressMB; 192 static address _sha256_implCompress; 193 static address _sha256_implCompressMB; 194 static address _sha512_implCompress; 195 static address _sha512_implCompressMB; 196 197 static address _updateBytesCRC32; 198 static address _crc_table_adr; 199 200 static address _updateBytesCRC32C; 201 202 static address _multiplyToLen; 203 static address _squareToLen; 204 static address _mulAdd; 205 206 // These are versions of the java.lang.Math methods which perform 207 // the same operations as the intrinsic version. They are used for 208 // constant folding in the compiler to ensure equivalence. If the 209 // intrinsic version returns the same result as the strict version 210 // then they can be set to the appropriate function from 211 // SharedRuntime. 212 static double (*_intrinsic_log)(double); 213 static double (*_intrinsic_log10)(double); 214 static double (*_intrinsic_exp)(double); 215 static double (*_intrinsic_pow)(double, double); 216 static double (*_intrinsic_sin)(double); 217 static double (*_intrinsic_cos)(double); 218 static double (*_intrinsic_tan)(double); 219 220 // Safefetch stubs. 221 static address _safefetch32_entry; 344 static address arrayof_jbyte_fill() { return _arrayof_jbyte_fill; } 345 static address arrayof_jshort_fill() { return _arrayof_jshort_fill; } 346 static address arrayof_jint_fill() { return _arrayof_jint_fill; } 347 348 static address aescrypt_encryptBlock() { return _aescrypt_encryptBlock; } 349 static address aescrypt_decryptBlock() { return _aescrypt_decryptBlock; } 350 static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; } 351 static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; } 352 static address ghash_processBlocks() { return _ghash_processBlocks; } 353 354 static address sha1_implCompress() { return _sha1_implCompress; } 355 static address sha1_implCompressMB() { return _sha1_implCompressMB; } 356 static address sha256_implCompress() { return _sha256_implCompress; } 357 static address sha256_implCompressMB() { return _sha256_implCompressMB; } 358 static address sha512_implCompress() { return _sha512_implCompress; } 359 static address sha512_implCompressMB() { return _sha512_implCompressMB; } 360 361 static address updateBytesCRC32() { return _updateBytesCRC32; } 362 static address crc_table_addr() { return _crc_table_adr; } 363 364 static address updateBytesCRC32C() { return _updateBytesCRC32C; } 365 366 static address multiplyToLen() {return _multiplyToLen; } 367 static address squareToLen() {return _squareToLen; } 368 static address mulAdd() {return _mulAdd; } 369 370 static address select_fill_function(BasicType t, bool aligned, const char* &name); 371 372 static address zero_aligned_words() { return _zero_aligned_words; } 373 374 static double intrinsic_log(double d) { 375 assert(_intrinsic_log != NULL, "must be defined"); 376 return _intrinsic_log(d); 377 } 378 static double intrinsic_log10(double d) { 379 assert(_intrinsic_log != NULL, "must be defined"); 380 return _intrinsic_log10(d); 381 } 382 static double intrinsic_exp(double d) { 383 assert(_intrinsic_exp != NULL, "must be defined"); 384 return _intrinsic_exp(d); 385 } |