< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page


   1 /*
   2  * Copyright (c) 1997, 2017, 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  *


 179   static address _sha256_implCompress;
 180   static address _sha256_implCompressMB;
 181   static address _sha512_implCompress;
 182   static address _sha512_implCompressMB;
 183 
 184   static address _updateBytesCRC32;
 185   static address _crc_table_adr;
 186 
 187   static address _crc32c_table_addr;
 188   static address _updateBytesCRC32C;
 189   static address _updateBytesAdler32;
 190 
 191   static address _multiplyToLen;
 192   static address _squareToLen;
 193   static address _mulAdd;
 194   static address _montgomeryMultiply;
 195   static address _montgomerySquare;
 196 
 197   static address _vectorizedMismatch;
 198 



 199   static address _dexp;
 200   static address _dlog;
 201   static address _dlog10;
 202   static address _dpow;
 203   static address _dsin;
 204   static address _dcos;
 205   static address _dlibm_sin_cos_huge;
 206   static address _dlibm_reduce_pi04l;
 207   static address _dlibm_tan_cot_huge;
 208   static address _dtan;
 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_log10)(double);
 217   static double (*_intrinsic_pow)(double, double);
 218   static double (*_intrinsic_sin)(double);


 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 crc32c_table_addr()   { return _crc32c_table_addr; }
 363   static address updateBytesCRC32C()   { return _updateBytesCRC32C; }
 364   static address updateBytesAdler32()  { return _updateBytesAdler32; }
 365 
 366   static address multiplyToLen()       { return _multiplyToLen; }
 367   static address squareToLen()         { return _squareToLen; }
 368   static address mulAdd()              { return _mulAdd; }
 369   static address montgomeryMultiply()  { return _montgomeryMultiply; }
 370   static address montgomerySquare()    { return _montgomerySquare; }
 371 
 372   static address vectorizedMismatch()  { return _vectorizedMismatch; }



 373 
 374   static address dexp()                { return _dexp; }
 375   static address dlog()                { return _dlog; }
 376   static address dlog10()              { return _dlog10; }
 377   static address dpow()                { return _dpow; }
 378   static address dsin()                { return _dsin; }
 379   static address dcos()                { return _dcos; }
 380   static address dlibm_reduce_pi04l()  { return _dlibm_reduce_pi04l; }
 381   static address dlibm_sin_cos_huge()  { return _dlibm_sin_cos_huge; }
 382   static address dlibm_tan_cot_huge()  { return _dlibm_tan_cot_huge; }
 383   static address dtan()                { return _dtan; }
 384 
 385   static address select_fill_function(BasicType t, bool aligned, const char* &name);
 386 
 387   static address zero_aligned_words()  { return _zero_aligned_words; }
 388 
 389   static double  intrinsic_log10(double d) {
 390     assert(_intrinsic_log10 != NULL, "must be defined");
 391     return _intrinsic_log10(d);
 392   }


   1 /*
   2  * Copyright (c) 1997, 2018, 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  *


 179   static address _sha256_implCompress;
 180   static address _sha256_implCompressMB;
 181   static address _sha512_implCompress;
 182   static address _sha512_implCompressMB;
 183 
 184   static address _updateBytesCRC32;
 185   static address _crc_table_adr;
 186 
 187   static address _crc32c_table_addr;
 188   static address _updateBytesCRC32C;
 189   static address _updateBytesAdler32;
 190 
 191   static address _multiplyToLen;
 192   static address _squareToLen;
 193   static address _mulAdd;
 194   static address _montgomeryMultiply;
 195   static address _montgomerySquare;
 196 
 197   static address _vectorizedMismatch;
 198 
 199   static address _setBit;
 200   static address _clrBit;
 201 
 202   static address _dexp;
 203   static address _dlog;
 204   static address _dlog10;
 205   static address _dpow;
 206   static address _dsin;
 207   static address _dcos;
 208   static address _dlibm_sin_cos_huge;
 209   static address _dlibm_reduce_pi04l;
 210   static address _dlibm_tan_cot_huge;
 211   static address _dtan;
 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);


 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 crc32c_table_addr()   { return _crc32c_table_addr; }
 366   static address updateBytesCRC32C()   { return _updateBytesCRC32C; }
 367   static address updateBytesAdler32()  { return _updateBytesAdler32; }
 368 
 369   static address multiplyToLen()       { return _multiplyToLen; }
 370   static address squareToLen()         { return _squareToLen; }
 371   static address mulAdd()              { return _mulAdd; }
 372   static address montgomeryMultiply()  { return _montgomeryMultiply; }
 373   static address montgomerySquare()    { return _montgomerySquare; }
 374 
 375   static address vectorizedMismatch()  { return _vectorizedMismatch; }
 376 
 377   static address setBit()              { return _setBit; }
 378   static address clrBit()              { return _clrBit; }
 379 
 380   static address dexp()                { return _dexp; }
 381   static address dlog()                { return _dlog; }
 382   static address dlog10()              { return _dlog10; }
 383   static address dpow()                { return _dpow; }
 384   static address dsin()                { return _dsin; }
 385   static address dcos()                { return _dcos; }
 386   static address dlibm_reduce_pi04l()  { return _dlibm_reduce_pi04l; }
 387   static address dlibm_sin_cos_huge()  { return _dlibm_sin_cos_huge; }
 388   static address dlibm_tan_cot_huge()  { return _dlibm_tan_cot_huge; }
 389   static address dtan()                { return _dtan; }
 390 
 391   static address select_fill_function(BasicType t, bool aligned, const char* &name);
 392 
 393   static address zero_aligned_words()  { return _zero_aligned_words; }
 394 
 395   static double  intrinsic_log10(double d) {
 396     assert(_intrinsic_log10 != NULL, "must be defined");
 397     return _intrinsic_log10(d);
 398   }


< prev index next >