comparison src/share/vm/runtime/stubRoutines.hpp @ 20313:b20a35eae442

8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC Summary: Add C2 SHA intrinsics on SPARC Reviewed-by: kvn, roland Contributed-by: james.cheng@oracle.com
author kvn
date Wed, 11 Jun 2014 11:05:10 -0700
parents 94c202aa2646
children 166d744df0de
comparison
equal deleted inserted replaced
20312:922c87c9aed4 20313:b20a35eae442
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
205 static address _aescrypt_encryptBlock; 205 static address _aescrypt_encryptBlock;
206 static address _aescrypt_decryptBlock; 206 static address _aescrypt_decryptBlock;
207 static address _cipherBlockChaining_encryptAESCrypt; 207 static address _cipherBlockChaining_encryptAESCrypt;
208 static address _cipherBlockChaining_decryptAESCrypt; 208 static address _cipherBlockChaining_decryptAESCrypt;
209 209
210 static address _sha1_implCompress;
211 static address _sha1_implCompressMB;
212 static address _sha256_implCompress;
213 static address _sha256_implCompressMB;
214 static address _sha512_implCompress;
215 static address _sha512_implCompressMB;
216
210 static address _updateBytesCRC32; 217 static address _updateBytesCRC32;
211 static address _crc_table_adr; 218 static address _crc_table_adr;
212 219
213 // These are versions of the java.lang.Math methods which perform 220 // These are versions of the java.lang.Math methods which perform
214 // the same operations as the intrinsic version. They are used for 221 // the same operations as the intrinsic version. They are used for
354 static address aescrypt_encryptBlock() { return _aescrypt_encryptBlock; } 361 static address aescrypt_encryptBlock() { return _aescrypt_encryptBlock; }
355 static address aescrypt_decryptBlock() { return _aescrypt_decryptBlock; } 362 static address aescrypt_decryptBlock() { return _aescrypt_decryptBlock; }
356 static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; } 363 static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; }
357 static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; } 364 static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; }
358 365
366 static address sha1_implCompress() { return _sha1_implCompress; }
367 static address sha1_implCompressMB() { return _sha1_implCompressMB; }
368 static address sha256_implCompress() { return _sha256_implCompress; }
369 static address sha256_implCompressMB() { return _sha256_implCompressMB; }
370 static address sha512_implCompress() { return _sha512_implCompress; }
371 static address sha512_implCompressMB() { return _sha512_implCompressMB; }
372
359 static address updateBytesCRC32() { return _updateBytesCRC32; } 373 static address updateBytesCRC32() { return _updateBytesCRC32; }
360 static address crc_table_addr() { return _crc_table_adr; } 374 static address crc_table_addr() { return _crc_table_adr; }
361 375
362 static address select_fill_function(BasicType t, bool aligned, const char* &name); 376 static address select_fill_function(BasicType t, bool aligned, const char* &name);
363 377