< prev index next >

src/cpu/x86/vm/stubGenerator_x86_64.cpp

Print this page
rev 8502 : 8130150: Implement BigInteger.montgomeryMultiply intrinsic
Summary: Add montgomeryMultiply intrinsics
Reviewed-by: kvn


4120       StubRoutines::_cipherBlockChaining_decryptAESCrypt = generate_cipherBlockChaining_decryptAESCrypt_Parallel();
4121     }
4122 
4123     // Safefetch stubs.
4124     generate_safefetch("SafeFetch32", sizeof(int),     &StubRoutines::_safefetch32_entry,
4125                                                        &StubRoutines::_safefetch32_fault_pc,
4126                                                        &StubRoutines::_safefetch32_continuation_pc);
4127     generate_safefetch("SafeFetchN", sizeof(intptr_t), &StubRoutines::_safefetchN_entry,
4128                                                        &StubRoutines::_safefetchN_fault_pc,
4129                                                        &StubRoutines::_safefetchN_continuation_pc);
4130 #ifdef COMPILER2
4131     if (UseMultiplyToLenIntrinsic) {
4132       StubRoutines::_multiplyToLen = generate_multiplyToLen();
4133     }
4134     if (UseSquareToLenIntrinsic) {
4135       StubRoutines::_squareToLen = generate_squareToLen();
4136     }
4137     if (UseMulAddIntrinsic) {
4138       StubRoutines::_mulAdd = generate_mulAdd();
4139     }
4140 #endif











4141   }
4142 
4143  public:
4144   StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) {
4145     if (all) {
4146       generate_all();
4147     } else {
4148       generate_initial();
4149     }
4150   }
4151 }; // end class declaration
4152 
4153 void StubGenerator_generate(CodeBuffer* code, bool all) {
4154   StubGenerator g(code, all);
4155 }


4120       StubRoutines::_cipherBlockChaining_decryptAESCrypt = generate_cipherBlockChaining_decryptAESCrypt_Parallel();
4121     }
4122 
4123     // Safefetch stubs.
4124     generate_safefetch("SafeFetch32", sizeof(int),     &StubRoutines::_safefetch32_entry,
4125                                                        &StubRoutines::_safefetch32_fault_pc,
4126                                                        &StubRoutines::_safefetch32_continuation_pc);
4127     generate_safefetch("SafeFetchN", sizeof(intptr_t), &StubRoutines::_safefetchN_entry,
4128                                                        &StubRoutines::_safefetchN_fault_pc,
4129                                                        &StubRoutines::_safefetchN_continuation_pc);
4130 #ifdef COMPILER2
4131     if (UseMultiplyToLenIntrinsic) {
4132       StubRoutines::_multiplyToLen = generate_multiplyToLen();
4133     }
4134     if (UseSquareToLenIntrinsic) {
4135       StubRoutines::_squareToLen = generate_squareToLen();
4136     }
4137     if (UseMulAddIntrinsic) {
4138       StubRoutines::_mulAdd = generate_mulAdd();
4139     }
4140 
4141 #ifdef _WINDOWS
4142     if (UseMontgomeryMultiplyIntrinsic) {
4143       StubRoutines::_montgomeryMultiply
4144         = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_multiply);
4145     }
4146     if (UseMontgomerySquareIntrinsic) {
4147       StubRoutines::_montgomerySquare
4148         = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square);
4149     }
4150 #endif // WINDOWS
4151 #endif // COMPILER2
4152   }
4153 
4154  public:
4155   StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) {
4156     if (all) {
4157       generate_all();
4158     } else {
4159       generate_initial();
4160     }
4161   }
4162 }; // end class declaration
4163 
4164 void StubGenerator_generate(CodeBuffer* code, bool all) {
4165   StubGenerator g(code, all);
4166 }
< prev index next >