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 _crc32c_table_addr; 201 static address _updateBytesCRC32C; 202 static address _updateBytesAdler32; 203 204 static address _multiplyToLen; 205 static address _squareToLen; 206 static address _mulAdd; 207 static address _montgomeryMultiply; 208 static address _montgomerySquare; 209 210 static address _dexp; 211 static address _dlog; 212 213 // These are versions of the java.lang.Math methods which perform 214 // the same operations as the intrinsic version. They are used for 215 // constant folding in the compiler to ensure equivalence. If the 216 // intrinsic version returns the same result as the strict version 217 // then they can be set to the appropriate function from 218 // SharedRuntime. 219 static double (*_intrinsic_log10)(double); 220 static double (*_intrinsic_pow)(double, double); 221 static double (*_intrinsic_sin)(double); 222 static double (*_intrinsic_cos)(double); 223 static double (*_intrinsic_tan)(double); 224 225 // Safefetch stubs. 226 static address _safefetch32_entry; 227 static address _safefetch32_fault_pc; 228 static address _safefetch32_continuation_pc; 229 static address _safefetchN_entry; 230 static address _safefetchN_fault_pc; 231 static address _safefetchN_continuation_pc; 361 static address sha256_implCompress() { return _sha256_implCompress; } 362 static address sha256_implCompressMB() { return _sha256_implCompressMB; } 363 static address sha512_implCompress() { return _sha512_implCompress; } 364 static address sha512_implCompressMB() { return _sha512_implCompressMB; } 365 366 static address updateBytesCRC32() { return _updateBytesCRC32; } 367 static address crc_table_addr() { return _crc_table_adr; } 368 369 static address crc32c_table_addr() { return _crc32c_table_addr; } 370 static address updateBytesCRC32C() { return _updateBytesCRC32C; } 371 static address updateBytesAdler32() { return _updateBytesAdler32; } 372 373 static address multiplyToLen() {return _multiplyToLen; } 374 static address squareToLen() {return _squareToLen; } 375 static address mulAdd() {return _mulAdd; } 376 static address montgomeryMultiply() { return _montgomeryMultiply; } 377 static address montgomerySquare() { return _montgomerySquare; } 378 379 static address dexp() { return _dexp; } 380 static address dlog() { return _dlog; } 381 382 static address select_fill_function(BasicType t, bool aligned, const char* &name); 383 384 static address zero_aligned_words() { return _zero_aligned_words; } 385 386 static double intrinsic_log10(double d) { 387 assert(_intrinsic_log10 != NULL, "must be defined"); 388 return _intrinsic_log10(d); 389 } 390 static double intrinsic_pow(double d, double d2) { 391 assert(_intrinsic_pow != NULL, "must be defined"); 392 return _intrinsic_pow(d, d2); 393 } 394 static double intrinsic_sin(double d) { 395 assert(_intrinsic_sin != NULL, "must be defined"); 396 return _intrinsic_sin(d); 397 } 398 static double intrinsic_cos(double d) { 399 assert(_intrinsic_cos != NULL, "must be defined"); 400 return _intrinsic_cos(d); | 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 _crc32c_table_addr; 201 static address _updateBytesCRC32C; 202 static address _updateBytesAdler32; 203 204 static address _multiplyToLen; 205 static address _squareToLen; 206 static address _mulAdd; 207 static address _montgomeryMultiply; 208 static address _montgomerySquare; 209 210 static address _dexp; 211 static address _dlog; 212 static address _dsin; 213 static address _dcos; 214 static address _dlibm_sin_cos_huge; 215 static address _dlibm_reduce_pi04l; 216 217 // These are versions of the java.lang.Math methods which perform 218 // the same operations as the intrinsic version. They are used for 219 // constant folding in the compiler to ensure equivalence. If the 220 // intrinsic version returns the same result as the strict version 221 // then they can be set to the appropriate function from 222 // SharedRuntime. 223 static double (*_intrinsic_log10)(double); 224 static double (*_intrinsic_pow)(double, double); 225 static double (*_intrinsic_sin)(double); 226 static double (*_intrinsic_cos)(double); 227 static double (*_intrinsic_tan)(double); 228 229 // Safefetch stubs. 230 static address _safefetch32_entry; 231 static address _safefetch32_fault_pc; 232 static address _safefetch32_continuation_pc; 233 static address _safefetchN_entry; 234 static address _safefetchN_fault_pc; 235 static address _safefetchN_continuation_pc; 365 static address sha256_implCompress() { return _sha256_implCompress; } 366 static address sha256_implCompressMB() { return _sha256_implCompressMB; } 367 static address sha512_implCompress() { return _sha512_implCompress; } 368 static address sha512_implCompressMB() { return _sha512_implCompressMB; } 369 370 static address updateBytesCRC32() { return _updateBytesCRC32; } 371 static address crc_table_addr() { return _crc_table_adr; } 372 373 static address crc32c_table_addr() { return _crc32c_table_addr; } 374 static address updateBytesCRC32C() { return _updateBytesCRC32C; } 375 static address updateBytesAdler32() { return _updateBytesAdler32; } 376 377 static address multiplyToLen() {return _multiplyToLen; } 378 static address squareToLen() {return _squareToLen; } 379 static address mulAdd() {return _mulAdd; } 380 static address montgomeryMultiply() { return _montgomeryMultiply; } 381 static address montgomerySquare() { return _montgomerySquare; } 382 383 static address dexp() { return _dexp; } 384 static address dlog() { return _dlog; } 385 static address dsin() { return _dsin; } 386 static address dcos() { return _dcos; } 387 static address dlibm_reduce_pi04l() { return _dlibm_reduce_pi04l; } 388 static address dlibm_sin_cos_huge() { return _dlibm_sin_cos_huge; } 389 390 static address select_fill_function(BasicType t, bool aligned, const char* &name); 391 392 static address zero_aligned_words() { return _zero_aligned_words; } 393 394 static double intrinsic_log10(double d) { 395 assert(_intrinsic_log10 != NULL, "must be defined"); 396 return _intrinsic_log10(d); 397 } 398 static double intrinsic_pow(double d, double d2) { 399 assert(_intrinsic_pow != NULL, "must be defined"); 400 return _intrinsic_pow(d, d2); 401 } 402 static double intrinsic_sin(double d) { 403 assert(_intrinsic_sin != NULL, "must be defined"); 404 return _intrinsic_sin(d); 405 } 406 static double intrinsic_cos(double d) { 407 assert(_intrinsic_cos != NULL, "must be defined"); 408 return _intrinsic_cos(d); |