< prev index next >

src/share/vm/runtime/stubRoutines.hpp

Print this page




 192 
 193   // zero heap space aligned to jlong (8 bytes)
 194   static address _zero_aligned_words;
 195 
 196   static address _aescrypt_encryptBlock;
 197   static address _aescrypt_decryptBlock;
 198   static address _cipherBlockChaining_encryptAESCrypt;
 199   static address _cipherBlockChaining_decryptAESCrypt;
 200 
 201   static address _sha1_implCompress;
 202   static address _sha1_implCompressMB;
 203   static address _sha256_implCompress;
 204   static address _sha256_implCompressMB;
 205   static address _sha512_implCompress;
 206   static address _sha512_implCompressMB;
 207 
 208   static address _updateBytesCRC32;
 209   static address _crc_table_adr;
 210 
 211   static address _multiplyToLen;


 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_log)(double);
 220   static double (*_intrinsic_log10)(double);
 221   static double (*_intrinsic_exp)(double);
 222   static double (*_intrinsic_pow)(double, double);
 223   static double (*_intrinsic_sin)(double);
 224   static double (*_intrinsic_cos)(double);
 225   static double (*_intrinsic_tan)(double);
 226 
 227   // Safefetch stubs.
 228   static address _safefetch32_entry;
 229   static address _safefetch32_fault_pc;
 230   static address _safefetch32_continuation_pc;
 231   static address _safefetchN_entry;


 350   static address arrayof_jbyte_fill()  { return _arrayof_jbyte_fill; }
 351   static address arrayof_jshort_fill() { return _arrayof_jshort_fill; }
 352   static address arrayof_jint_fill()   { return _arrayof_jint_fill; }
 353 
 354   static address aescrypt_encryptBlock()                { return _aescrypt_encryptBlock; }
 355   static address aescrypt_decryptBlock()                { return _aescrypt_decryptBlock; }
 356   static address cipherBlockChaining_encryptAESCrypt()  { return _cipherBlockChaining_encryptAESCrypt; }
 357   static address cipherBlockChaining_decryptAESCrypt()  { return _cipherBlockChaining_decryptAESCrypt; }
 358 
 359   static address sha1_implCompress()     { return _sha1_implCompress; }
 360   static address sha1_implCompressMB()   { return _sha1_implCompressMB; }
 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 multiplyToLen()       {return _multiplyToLen; }


 370 
 371   static address select_fill_function(BasicType t, bool aligned, const char* &name);
 372 
 373   static address zero_aligned_words()   { return _zero_aligned_words; }
 374 
 375   static double  intrinsic_log(double d) {
 376     assert(_intrinsic_log != NULL, "must be defined");
 377     return _intrinsic_log(d);
 378   }
 379   static double  intrinsic_log10(double d) {
 380     assert(_intrinsic_log != NULL, "must be defined");
 381     return _intrinsic_log10(d);
 382   }
 383   static double  intrinsic_exp(double d) {
 384     assert(_intrinsic_exp != NULL, "must be defined");
 385     return _intrinsic_exp(d);
 386   }
 387   static double  intrinsic_pow(double d, double d2) {
 388     assert(_intrinsic_pow != NULL, "must be defined");
 389     return _intrinsic_pow(d, d2);




 192 
 193   // zero heap space aligned to jlong (8 bytes)
 194   static address _zero_aligned_words;
 195 
 196   static address _aescrypt_encryptBlock;
 197   static address _aescrypt_decryptBlock;
 198   static address _cipherBlockChaining_encryptAESCrypt;
 199   static address _cipherBlockChaining_decryptAESCrypt;
 200 
 201   static address _sha1_implCompress;
 202   static address _sha1_implCompressMB;
 203   static address _sha256_implCompress;
 204   static address _sha256_implCompressMB;
 205   static address _sha512_implCompress;
 206   static address _sha512_implCompressMB;
 207 
 208   static address _updateBytesCRC32;
 209   static address _crc_table_adr;
 210 
 211   static address _multiplyToLen;
 212   static address _montgomeryMultiply;
 213   static address _montgomerySquare;
 214 
 215   // These are versions of the java.lang.Math methods which perform
 216   // the same operations as the intrinsic version.  They are used for
 217   // constant folding in the compiler to ensure equivalence.  If the
 218   // intrinsic version returns the same result as the strict version
 219   // then they can be set to the appropriate function from
 220   // SharedRuntime.
 221   static double (*_intrinsic_log)(double);
 222   static double (*_intrinsic_log10)(double);
 223   static double (*_intrinsic_exp)(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;


 352   static address arrayof_jbyte_fill()  { return _arrayof_jbyte_fill; }
 353   static address arrayof_jshort_fill() { return _arrayof_jshort_fill; }
 354   static address arrayof_jint_fill()   { return _arrayof_jint_fill; }
 355 
 356   static address aescrypt_encryptBlock()                { return _aescrypt_encryptBlock; }
 357   static address aescrypt_decryptBlock()                { return _aescrypt_decryptBlock; }
 358   static address cipherBlockChaining_encryptAESCrypt()  { return _cipherBlockChaining_encryptAESCrypt; }
 359   static address cipherBlockChaining_decryptAESCrypt()  { return _cipherBlockChaining_decryptAESCrypt; }
 360 
 361   static address sha1_implCompress()     { return _sha1_implCompress; }
 362   static address sha1_implCompressMB()   { return _sha1_implCompressMB; }
 363   static address sha256_implCompress()   { return _sha256_implCompress; }
 364   static address sha256_implCompressMB() { return _sha256_implCompressMB; }
 365   static address sha512_implCompress()   { return _sha512_implCompress; }
 366   static address sha512_implCompressMB() { return _sha512_implCompressMB; }
 367 
 368   static address updateBytesCRC32()    { return _updateBytesCRC32; }
 369   static address crc_table_addr()      { return _crc_table_adr; }
 370 
 371   static address multiplyToLen()       {return _multiplyToLen; }
 372   static address montgomeryMultiply()  { return _montgomeryMultiply; }
 373   static address montgomerySquare()    { return _montgomerySquare; }
 374 
 375   static address select_fill_function(BasicType t, bool aligned, const char* &name);
 376 
 377   static address zero_aligned_words()   { return _zero_aligned_words; }
 378 
 379   static double  intrinsic_log(double d) {
 380     assert(_intrinsic_log != NULL, "must be defined");
 381     return _intrinsic_log(d);
 382   }
 383   static double  intrinsic_log10(double d) {
 384     assert(_intrinsic_log != NULL, "must be defined");
 385     return _intrinsic_log10(d);
 386   }
 387   static double  intrinsic_exp(double d) {
 388     assert(_intrinsic_exp != NULL, "must be defined");
 389     return _intrinsic_exp(d);
 390   }
 391   static double  intrinsic_pow(double d, double d2) {
 392     assert(_intrinsic_pow != NULL, "must be defined");
 393     return _intrinsic_pow(d, d2);


< prev index next >