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