src/share/vm/runtime/stubRoutines.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8035968 Sdiff src/share/vm/runtime

src/share/vm/runtime/stubRoutines.hpp

Print this page


   1 /*
   2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 190   // these are recommended but optional:
 191   static address _checkcast_arraycopy, _checkcast_arraycopy_uninit;
 192   static address _unsafe_arraycopy;
 193   static address _generic_arraycopy;
 194 
 195   static address _jbyte_fill;
 196   static address _jshort_fill;
 197   static address _jint_fill;
 198   static address _arrayof_jbyte_fill;
 199   static address _arrayof_jshort_fill;
 200   static address _arrayof_jint_fill;
 201 
 202   // zero heap space aligned to jlong (8 bytes)
 203   static address _zero_aligned_words;
 204 
 205   static address _aescrypt_encryptBlock;
 206   static address _aescrypt_decryptBlock;
 207   static address _cipherBlockChaining_encryptAESCrypt;
 208   static address _cipherBlockChaining_decryptAESCrypt;
 209 







 210   static address _updateBytesCRC32;
 211   static address _crc_table_adr;
 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;


 339   }
 340 
 341   static address checkcast_arraycopy(bool dest_uninitialized = false) {
 342     return dest_uninitialized ? _checkcast_arraycopy_uninit : _checkcast_arraycopy;
 343   }
 344   static address unsafe_arraycopy()        { return _unsafe_arraycopy; }
 345   static address generic_arraycopy()       { return _generic_arraycopy; }
 346 
 347   static address jbyte_fill()          { return _jbyte_fill; }
 348   static address jshort_fill()         { return _jshort_fill; }
 349   static address jint_fill()           { return _jint_fill; }
 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 updateBytesCRC32()    { return _updateBytesCRC32; }
 360   static address crc_table_addr()      { return _crc_table_adr; }
 361 
 362   static address select_fill_function(BasicType t, bool aligned, const char* &name);
 363 
 364   static address zero_aligned_words()   { return _zero_aligned_words; }
 365 
 366   static double  intrinsic_log(double d) {
 367     assert(_intrinsic_log != NULL, "must be defined");
 368     return _intrinsic_log(d);
 369   }
 370   static double  intrinsic_log10(double d) {
 371     assert(_intrinsic_log != NULL, "must be defined");
 372     return _intrinsic_log10(d);
 373   }
 374   static double  intrinsic_exp(double d) {
 375     assert(_intrinsic_exp != NULL, "must be defined");
 376     return _intrinsic_exp(d);
 377   }
 378   static double  intrinsic_pow(double d, double d2) {


   1 /*
   2  * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 190   // these are recommended but optional:
 191   static address _checkcast_arraycopy, _checkcast_arraycopy_uninit;
 192   static address _unsafe_arraycopy;
 193   static address _generic_arraycopy;
 194 
 195   static address _jbyte_fill;
 196   static address _jshort_fill;
 197   static address _jint_fill;
 198   static address _arrayof_jbyte_fill;
 199   static address _arrayof_jshort_fill;
 200   static address _arrayof_jint_fill;
 201 
 202   // zero heap space aligned to jlong (8 bytes)
 203   static address _zero_aligned_words;
 204 
 205   static address _aescrypt_encryptBlock;
 206   static address _aescrypt_decryptBlock;
 207   static address _cipherBlockChaining_encryptAESCrypt;
 208   static address _cipherBlockChaining_decryptAESCrypt;
 209 
 210   static address _sha1_implCompress;
 211   static address _sha1_implCompressMB;
 212   static address _sha256_implCompress;
 213   static address _sha256_implCompressMB;
 214   static address _sha512_implCompress;
 215   static address _sha512_implCompressMB;
 216 
 217   static address _updateBytesCRC32;
 218   static address _crc_table_adr;
 219 
 220   // These are versions of the java.lang.Math methods which perform
 221   // the same operations as the intrinsic version.  They are used for
 222   // constant folding in the compiler to ensure equivalence.  If the
 223   // intrinsic version returns the same result as the strict version
 224   // then they can be set to the appropriate function from
 225   // SharedRuntime.
 226   static double (*_intrinsic_log)(double);
 227   static double (*_intrinsic_log10)(double);
 228   static double (*_intrinsic_exp)(double);
 229   static double (*_intrinsic_pow)(double, double);
 230   static double (*_intrinsic_sin)(double);
 231   static double (*_intrinsic_cos)(double);
 232   static double (*_intrinsic_tan)(double);
 233 
 234   // Safefetch stubs.
 235   static address _safefetch32_entry;
 236   static address _safefetch32_fault_pc;


 346   }
 347 
 348   static address checkcast_arraycopy(bool dest_uninitialized = false) {
 349     return dest_uninitialized ? _checkcast_arraycopy_uninit : _checkcast_arraycopy;
 350   }
 351   static address unsafe_arraycopy()        { return _unsafe_arraycopy; }
 352   static address generic_arraycopy()       { return _generic_arraycopy; }
 353 
 354   static address jbyte_fill()          { return _jbyte_fill; }
 355   static address jshort_fill()         { return _jshort_fill; }
 356   static address jint_fill()           { return _jint_fill; }
 357   static address arrayof_jbyte_fill()  { return _arrayof_jbyte_fill; }
 358   static address arrayof_jshort_fill() { return _arrayof_jshort_fill; }
 359   static address arrayof_jint_fill()   { return _arrayof_jint_fill; }
 360 
 361   static address aescrypt_encryptBlock()                { return _aescrypt_encryptBlock; }
 362   static address aescrypt_decryptBlock()                { return _aescrypt_decryptBlock; }
 363   static address cipherBlockChaining_encryptAESCrypt()  { return _cipherBlockChaining_encryptAESCrypt; }
 364   static address cipherBlockChaining_decryptAESCrypt()  { return _cipherBlockChaining_decryptAESCrypt; }
 365 
 366   static address sha1_implCompress()     { return _sha1_implCompress; }
 367   static address sha1_implCompressMB()   { return _sha1_implCompressMB; }
 368   static address sha256_implCompress()   { return _sha256_implCompress; }
 369   static address sha256_implCompressMB() { return _sha256_implCompressMB; }
 370   static address sha512_implCompress()   { return _sha512_implCompress; }
 371   static address sha512_implCompressMB() { return _sha512_implCompressMB; }
 372 
 373   static address updateBytesCRC32()    { return _updateBytesCRC32; }
 374   static address crc_table_addr()      { return _crc_table_adr; }
 375 
 376   static address select_fill_function(BasicType t, bool aligned, const char* &name);
 377 
 378   static address zero_aligned_words()   { return _zero_aligned_words; }
 379 
 380   static double  intrinsic_log(double d) {
 381     assert(_intrinsic_log != NULL, "must be defined");
 382     return _intrinsic_log(d);
 383   }
 384   static double  intrinsic_log10(double d) {
 385     assert(_intrinsic_log != NULL, "must be defined");
 386     return _intrinsic_log10(d);
 387   }
 388   static double  intrinsic_exp(double d) {
 389     assert(_intrinsic_exp != NULL, "must be defined");
 390     return _intrinsic_exp(d);
 391   }
 392   static double  intrinsic_pow(double d, double d2) {


src/share/vm/runtime/stubRoutines.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File