hotspot/src/share/vm/runtime/stubRoutines.hpp
changeset 33089 f4e956ed8b43
parent 33066 d98eab8215c4
child 33465 6063f28a6efb
equal deleted inserted replaced
33088:34fe49ecee13 33089:f4e956ed8b43
   205   static address _squareToLen;
   205   static address _squareToLen;
   206   static address _mulAdd;
   206   static address _mulAdd;
   207   static address _montgomeryMultiply;
   207   static address _montgomeryMultiply;
   208   static address _montgomerySquare;
   208   static address _montgomerySquare;
   209 
   209 
       
   210   static address _dexp;
       
   211 
   210   // These are versions of the java.lang.Math methods which perform
   212   // These are versions of the java.lang.Math methods which perform
   211   // the same operations as the intrinsic version.  They are used for
   213   // the same operations as the intrinsic version.  They are used for
   212   // constant folding in the compiler to ensure equivalence.  If the
   214   // constant folding in the compiler to ensure equivalence.  If the
   213   // intrinsic version returns the same result as the strict version
   215   // intrinsic version returns the same result as the strict version
   214   // then they can be set to the appropriate function from
   216   // then they can be set to the appropriate function from
   215   // SharedRuntime.
   217   // SharedRuntime.
   216   static double (*_intrinsic_log)(double);
   218   static double (*_intrinsic_log)(double);
   217   static double (*_intrinsic_log10)(double);
   219   static double (*_intrinsic_log10)(double);
   218   static double (*_intrinsic_exp)(double);
       
   219   static double (*_intrinsic_pow)(double, double);
   220   static double (*_intrinsic_pow)(double, double);
   220   static double (*_intrinsic_sin)(double);
   221   static double (*_intrinsic_sin)(double);
   221   static double (*_intrinsic_cos)(double);
   222   static double (*_intrinsic_cos)(double);
   222   static double (*_intrinsic_tan)(double);
   223   static double (*_intrinsic_tan)(double);
   223 
   224 
   373   static address squareToLen()         {return _squareToLen; }
   374   static address squareToLen()         {return _squareToLen; }
   374   static address mulAdd()              {return _mulAdd; }
   375   static address mulAdd()              {return _mulAdd; }
   375   static address montgomeryMultiply()  { return _montgomeryMultiply; }
   376   static address montgomeryMultiply()  { return _montgomeryMultiply; }
   376   static address montgomerySquare()    { return _montgomerySquare; }
   377   static address montgomerySquare()    { return _montgomerySquare; }
   377 
   378 
       
   379   static address dexp()                {return _dexp; }
       
   380 
   378   static address select_fill_function(BasicType t, bool aligned, const char* &name);
   381   static address select_fill_function(BasicType t, bool aligned, const char* &name);
   379 
   382 
   380   static address zero_aligned_words()   { return _zero_aligned_words; }
   383   static address zero_aligned_words()   { return _zero_aligned_words; }
   381 
   384 
   382   static double  intrinsic_log(double d) {
   385   static double  intrinsic_log(double d) {
   384     return _intrinsic_log(d);
   387     return _intrinsic_log(d);
   385   }
   388   }
   386   static double  intrinsic_log10(double d) {
   389   static double  intrinsic_log10(double d) {
   387     assert(_intrinsic_log != NULL, "must be defined");
   390     assert(_intrinsic_log != NULL, "must be defined");
   388     return _intrinsic_log10(d);
   391     return _intrinsic_log10(d);
   389   }
       
   390   static double  intrinsic_exp(double d) {
       
   391     assert(_intrinsic_exp != NULL, "must be defined");
       
   392     return _intrinsic_exp(d);
       
   393   }
   392   }
   394   static double  intrinsic_pow(double d, double d2) {
   393   static double  intrinsic_pow(double d, double d2) {
   395     assert(_intrinsic_pow != NULL, "must be defined");
   394     assert(_intrinsic_pow != NULL, "must be defined");
   396     return _intrinsic_pow(d, d2);
   395     return _intrinsic_pow(d, d2);
   397   }
   396   }