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