Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/stubRoutines.hpp @ 11080:b800986664f4
7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
Summary: add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test
Reviewed-by: kvn, twisti
author | drchase |
---|---|
date | Tue, 02 Jul 2013 20:42:12 -0400 |
parents | f2110083203d |
children | 980532a806a5 6cc7093e1341 |
comparison
equal
deleted
inserted
replaced
11079:738e04fb1232 | 11080:b800986664f4 |
---|---|
202 static address _aescrypt_encryptBlock; | 202 static address _aescrypt_encryptBlock; |
203 static address _aescrypt_decryptBlock; | 203 static address _aescrypt_decryptBlock; |
204 static address _cipherBlockChaining_encryptAESCrypt; | 204 static address _cipherBlockChaining_encryptAESCrypt; |
205 static address _cipherBlockChaining_decryptAESCrypt; | 205 static address _cipherBlockChaining_decryptAESCrypt; |
206 | 206 |
207 static address _updateBytesCRC32; | |
208 static address _crc_table_adr; | |
209 | |
207 // These are versions of the java.lang.Math methods which perform | 210 // These are versions of the java.lang.Math methods which perform |
208 // the same operations as the intrinsic version. They are used for | 211 // the same operations as the intrinsic version. They are used for |
209 // constant folding in the compiler to ensure equivalence. If the | 212 // constant folding in the compiler to ensure equivalence. If the |
210 // intrinsic version returns the same result as the strict version | 213 // intrinsic version returns the same result as the strict version |
211 // then they can be set to the appropriate function from | 214 // then they can be set to the appropriate function from |
340 static address aescrypt_encryptBlock() { return _aescrypt_encryptBlock; } | 343 static address aescrypt_encryptBlock() { return _aescrypt_encryptBlock; } |
341 static address aescrypt_decryptBlock() { return _aescrypt_decryptBlock; } | 344 static address aescrypt_decryptBlock() { return _aescrypt_decryptBlock; } |
342 static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; } | 345 static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; } |
343 static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; } | 346 static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; } |
344 | 347 |
348 static address updateBytesCRC32() { return _updateBytesCRC32; } | |
349 static address crc_table_addr() { return _crc_table_adr; } | |
350 | |
345 static address select_fill_function(BasicType t, bool aligned, const char* &name); | 351 static address select_fill_function(BasicType t, bool aligned, const char* &name); |
346 | 352 |
347 static address zero_aligned_words() { return _zero_aligned_words; } | 353 static address zero_aligned_words() { return _zero_aligned_words; } |
348 | 354 |
349 static double intrinsic_log(double d) { | 355 static double intrinsic_log(double d) { |