3970 if (UseAESIntrinsics) {
3971 StubRoutines::x86::_key_shuffle_mask_addr = generate_key_shuffle_mask(); // needed by the others
3972
3973 StubRoutines::_aescrypt_encryptBlock = generate_aescrypt_encryptBlock();
3974 StubRoutines::_aescrypt_decryptBlock = generate_aescrypt_decryptBlock();
3975 StubRoutines::_cipherBlockChaining_encryptAESCrypt = generate_cipherBlockChaining_encryptAESCrypt();
3976 StubRoutines::_cipherBlockChaining_decryptAESCrypt = generate_cipherBlockChaining_decryptAESCrypt_Parallel();
3977 }
3978
3979 // Safefetch stubs.
3980 generate_safefetch("SafeFetch32", sizeof(int), &StubRoutines::_safefetch32_entry,
3981 &StubRoutines::_safefetch32_fault_pc,
3982 &StubRoutines::_safefetch32_continuation_pc);
3983 generate_safefetch("SafeFetchN", sizeof(intptr_t), &StubRoutines::_safefetchN_entry,
3984 &StubRoutines::_safefetchN_fault_pc,
3985 &StubRoutines::_safefetchN_continuation_pc);
3986 #ifdef COMPILER2
3987 if (UseMultiplyToLenIntrinsic) {
3988 StubRoutines::_multiplyToLen = generate_multiplyToLen();
3989 }
3990 #endif
3991 }
3992
3993 public:
3994 StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) {
3995 if (all) {
3996 generate_all();
3997 } else {
3998 generate_initial();
3999 }
4000 }
4001 }; // end class declaration
4002
4003 void StubGenerator_generate(CodeBuffer* code, bool all) {
4004 StubGenerator g(code, all);
4005 }
|
3970 if (UseAESIntrinsics) {
3971 StubRoutines::x86::_key_shuffle_mask_addr = generate_key_shuffle_mask(); // needed by the others
3972
3973 StubRoutines::_aescrypt_encryptBlock = generate_aescrypt_encryptBlock();
3974 StubRoutines::_aescrypt_decryptBlock = generate_aescrypt_decryptBlock();
3975 StubRoutines::_cipherBlockChaining_encryptAESCrypt = generate_cipherBlockChaining_encryptAESCrypt();
3976 StubRoutines::_cipherBlockChaining_decryptAESCrypt = generate_cipherBlockChaining_decryptAESCrypt_Parallel();
3977 }
3978
3979 // Safefetch stubs.
3980 generate_safefetch("SafeFetch32", sizeof(int), &StubRoutines::_safefetch32_entry,
3981 &StubRoutines::_safefetch32_fault_pc,
3982 &StubRoutines::_safefetch32_continuation_pc);
3983 generate_safefetch("SafeFetchN", sizeof(intptr_t), &StubRoutines::_safefetchN_entry,
3984 &StubRoutines::_safefetchN_fault_pc,
3985 &StubRoutines::_safefetchN_continuation_pc);
3986 #ifdef COMPILER2
3987 if (UseMultiplyToLenIntrinsic) {
3988 StubRoutines::_multiplyToLen = generate_multiplyToLen();
3989 }
3990
3991 #ifndef _WINDOWS
3992 if (UseMontgomeryMultiplyIntrinsic) {
3993 StubRoutines::_montgomeryMultiply
3994 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_multiply);
3995 }
3996 if (UseMontgomerySquareIntrinsic) {
3997 StubRoutines::_montgomerySquare
3998 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square);
3999 }
4000 #endif // WINDOWS
4001 #endif // COMPILER2
4002 }
4003
4004 public:
4005 StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) {
4006 if (all) {
4007 generate_all();
4008 } else {
4009 generate_initial();
4010 }
4011 }
4012 }; // end class declaration
4013
4014 void StubGenerator_generate(CodeBuffer* code, bool all) {
4015 StubGenerator g(code, all);
4016 }
|