Mercurial > hg > truffle
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) { |