< prev index next >

## src/share/vm/runtime/stubRoutines.hpp

Print this page

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

     207
     208   // These are versions of the java.lang.Math methods which perform
     209   // the same operations as the intrinsic version.  They are used for
     210   // constant folding in the compiler to ensure equivalence.  If the
     211   // intrinsic version returns the same result as the strict version
     212   // then they can be set to the appropriate function from
     213   // SharedRuntime.
     214   static double (*_intrinsic_log)(double);
     215   static double (*_intrinsic_log10)(double);
     216   static double (*_intrinsic_exp)(double);
     217   static double (*_intrinsic_pow)(double, double);
     218   static double (*_intrinsic_sin)(double);
     219   static double (*_intrinsic_cos)(double);
     220   static double (*_intrinsic_tan)(double);
     221
     222   // Safefetch stubs.
     223   static address _safefetch32_entry;
     224   static address _safefetch32_fault_pc;
     225   static address _safefetch32_continuation_pc;
     226   static address _safefetchN_entry;
     346   static address arrayof_jbyte_fill()  { return _arrayof_jbyte_fill; }
     347   static address arrayof_jshort_fill() { return _arrayof_jshort_fill; }
     348   static address arrayof_jint_fill()   { return _arrayof_jint_fill; }
     349
     350   static address aescrypt_encryptBlock()                { return _aescrypt_encryptBlock; }
     351   static address aescrypt_decryptBlock()                { return _aescrypt_decryptBlock; }
     352   static address cipherBlockChaining_encryptAESCrypt()  { return _cipherBlockChaining_encryptAESCrypt; }
     353   static address cipherBlockChaining_decryptAESCrypt()  { return _cipherBlockChaining_decryptAESCrypt; }
     354
     355   static address sha1_implCompress()     { return _sha1_implCompress; }
     356   static address sha1_implCompressMB()   { return _sha1_implCompressMB; }
     357   static address sha256_implCompress()   { return _sha256_implCompress; }
     358   static address sha256_implCompressMB() { return _sha256_implCompressMB; }
     359   static address sha512_implCompress()   { return _sha512_implCompress; }
     360   static address sha512_implCompressMB() { return _sha512_implCompressMB; }
     361
     362   static address updateBytesCRC32()    { return _updateBytesCRC32; }
     363   static address crc_table_addr()      { return _crc_table_adr; }
     364
     365   static address multiplyToLen()       {return _multiplyToLen; }

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

< prev index next >