comparison src/share/vm/runtime/stubRoutines.hpp @ 6894:a3ecd773a7b9

7184394: add intrinsics to use AES instructions Summary: Use new x86 AES instructions for AESCrypt. Reviewed-by: twisti, kvn, roland Contributed-by: tom.deneau@amd.com
author kvn
date Wed, 24 Oct 2012 14:33:22 -0700
parents da91efe96a93
children f2110083203d d2907f74462e
comparison
equal deleted inserted replaced
6893:b2c669fd8114 6894:a3ecd773a7b9
197 static address _arrayof_jint_fill; 197 static address _arrayof_jint_fill;
198 198
199 // zero heap space aligned to jlong (8 bytes) 199 // zero heap space aligned to jlong (8 bytes)
200 static address _zero_aligned_words; 200 static address _zero_aligned_words;
201 201
202 static address _aescrypt_encryptBlock;
203 static address _aescrypt_decryptBlock;
204 static address _cipherBlockChaining_encryptAESCrypt;
205 static address _cipherBlockChaining_decryptAESCrypt;
206
202 // These are versions of the java.lang.Math methods which perform 207 // These are versions of the java.lang.Math methods which perform
203 // the same operations as the intrinsic version. They are used for 208 // the same operations as the intrinsic version. They are used for
204 // constant folding in the compiler to ensure equivalence. If the 209 // constant folding in the compiler to ensure equivalence. If the
205 // intrinsic version returns the same result as the strict version 210 // intrinsic version returns the same result as the strict version
206 // then they can be set to the appropriate function from 211 // then they can be set to the appropriate function from
328 static address jint_fill() { return _jint_fill; } 333 static address jint_fill() { return _jint_fill; }
329 static address arrayof_jbyte_fill() { return _arrayof_jbyte_fill; } 334 static address arrayof_jbyte_fill() { return _arrayof_jbyte_fill; }
330 static address arrayof_jshort_fill() { return _arrayof_jshort_fill; } 335 static address arrayof_jshort_fill() { return _arrayof_jshort_fill; }
331 static address arrayof_jint_fill() { return _arrayof_jint_fill; } 336 static address arrayof_jint_fill() { return _arrayof_jint_fill; }
332 337
338 static address aescrypt_encryptBlock() { return _aescrypt_encryptBlock; }
339 static address aescrypt_decryptBlock() { return _aescrypt_decryptBlock; }
340 static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; }
341 static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; }
342
333 static address select_fill_function(BasicType t, bool aligned, const char* &name); 343 static address select_fill_function(BasicType t, bool aligned, const char* &name);
334 344
335 static address zero_aligned_words() { return _zero_aligned_words; } 345 static address zero_aligned_words() { return _zero_aligned_words; }
336 346
337 static double intrinsic_log(double d) { 347 static double intrinsic_log(double d) {