< prev index next >

src/cpu/x86/vm/stubGenerator_x86_64.cpp

Print this page




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 }
< prev index next >