3262 }
3263
3264 // Generate GHASH intrinsics code
3265 if (UseGHASHIntrinsics) {
3266 StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks();
3267 }
3268
3269 // Generate SHA1/SHA256/SHA512 intrinsics code.
3270 if (UseSHA1Intrinsics) {
3271 StubRoutines::_sha1_implCompress = generate_SHA1_stub(StubGenStubId::sha1_implCompress_id);
3272 StubRoutines::_sha1_implCompressMB = generate_SHA1_stub(StubGenStubId::sha1_implCompressMB_id);
3273 }
3274 if (UseSHA256Intrinsics) {
3275 StubRoutines::_sha256_implCompress = generate_SHA256_stub(StubGenStubId::sha256_implCompress_id);
3276 StubRoutines::_sha256_implCompressMB = generate_SHA256_stub(StubGenStubId::sha256_implCompressMB_id);
3277 }
3278 if (UseSHA512Intrinsics) {
3279 StubRoutines::_sha512_implCompress = generate_SHA512_stub(StubGenStubId::sha512_implCompress_id);
3280 StubRoutines::_sha512_implCompressMB = generate_SHA512_stub(StubGenStubId::sha512_implCompressMB_id);
3281 }
3282
3283 #ifdef COMPILER2
3284 if (UseMultiplyToLenIntrinsic) {
3285 StubRoutines::_multiplyToLen = generate_multiplyToLen();
3286 }
3287 if (UseMontgomeryMultiplyIntrinsic) {
3288 StubRoutines::_montgomeryMultiply
3289 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_multiply);
3290 }
3291 if (UseMontgomerySquareIntrinsic) {
3292 StubRoutines::_montgomerySquare
3293 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square);
3294 }
3295 #endif
3296 #endif // COMPILER2_OR_JVMCI
3297 }
3298
3299 public:
3300 StubGenerator(CodeBuffer* code, StubGenBlobId blob_id) : StubCodeGenerator(code, blob_id) {
3301 switch(blob_id) {
3302 case initial_id:
|
3262 }
3263
3264 // Generate GHASH intrinsics code
3265 if (UseGHASHIntrinsics) {
3266 StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks();
3267 }
3268
3269 // Generate SHA1/SHA256/SHA512 intrinsics code.
3270 if (UseSHA1Intrinsics) {
3271 StubRoutines::_sha1_implCompress = generate_SHA1_stub(StubGenStubId::sha1_implCompress_id);
3272 StubRoutines::_sha1_implCompressMB = generate_SHA1_stub(StubGenStubId::sha1_implCompressMB_id);
3273 }
3274 if (UseSHA256Intrinsics) {
3275 StubRoutines::_sha256_implCompress = generate_SHA256_stub(StubGenStubId::sha256_implCompress_id);
3276 StubRoutines::_sha256_implCompressMB = generate_SHA256_stub(StubGenStubId::sha256_implCompressMB_id);
3277 }
3278 if (UseSHA512Intrinsics) {
3279 StubRoutines::_sha512_implCompress = generate_SHA512_stub(StubGenStubId::sha512_implCompress_id);
3280 StubRoutines::_sha512_implCompressMB = generate_SHA512_stub(StubGenStubId::sha512_implCompressMB_id);
3281 }
3282 #ifdef COMPILER2
3283 if (UseMultiplyToLenIntrinsic) {
3284 StubRoutines::_multiplyToLen = generate_multiplyToLen();
3285 }
3286 if (UseMontgomeryMultiplyIntrinsic) {
3287 StubRoutines::_montgomeryMultiply
3288 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_multiply);
3289 }
3290 if (UseMontgomerySquareIntrinsic) {
3291 StubRoutines::_montgomerySquare
3292 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square);
3293 }
3294 #endif
3295 #endif // COMPILER2_OR_JVMCI
3296 }
3297
3298 public:
3299 StubGenerator(CodeBuffer* code, StubGenBlobId blob_id) : StubCodeGenerator(code, blob_id) {
3300 switch(blob_id) {
3301 case initial_id:
|