< prev index next >

src/hotspot/cpu/s390/stubGenerator_s390.cpp

Print this page

3163     }
3164 
3165     // Generate GHASH intrinsics code
3166     if (UseGHASHIntrinsics) {
3167       StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks();
3168     }
3169 
3170     // Generate SHA1/SHA256/SHA512 intrinsics code.
3171     if (UseSHA1Intrinsics) {
3172       StubRoutines::_sha1_implCompress     = generate_SHA1_stub(false,   "SHA1_singleBlock");
3173       StubRoutines::_sha1_implCompressMB   = generate_SHA1_stub(true,    "SHA1_multiBlock");
3174     }
3175     if (UseSHA256Intrinsics) {
3176       StubRoutines::_sha256_implCompress   = generate_SHA256_stub(false, "SHA256_singleBlock");
3177       StubRoutines::_sha256_implCompressMB = generate_SHA256_stub(true,  "SHA256_multiBlock");
3178     }
3179     if (UseSHA512Intrinsics) {
3180       StubRoutines::_sha512_implCompress   = generate_SHA512_stub(false, "SHA512_singleBlock");
3181       StubRoutines::_sha512_implCompressMB = generate_SHA512_stub(true,  "SHA512_multiBlock");
3182     }
3183 
3184 #ifdef COMPILER2
3185     if (UseMultiplyToLenIntrinsic) {
3186       StubRoutines::_multiplyToLen = generate_multiplyToLen();
3187     }
3188     if (UseMontgomeryMultiplyIntrinsic) {
3189       StubRoutines::_montgomeryMultiply
3190         = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_multiply);
3191     }
3192     if (UseMontgomerySquareIntrinsic) {
3193       StubRoutines::_montgomerySquare
3194         = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square);
3195     }
3196     if (UseSecondarySupersTable) {
3197       StubRoutines::_lookup_secondary_supers_table_slow_path_stub = generate_lookup_secondary_supers_table_slow_path_stub();
3198       if (!InlineSecondarySupersTest) {
3199         for (int slot = 0; slot < Klass::SECONDARY_SUPERS_TABLE_SIZE; slot++) {
3200           StubRoutines::_lookup_secondary_supers_table_stubs[slot] = generate_lookup_secondary_supers_table_stub(slot);
3201         }
3202       }
3203     }

3163     }
3164 
3165     // Generate GHASH intrinsics code
3166     if (UseGHASHIntrinsics) {
3167       StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks();
3168     }
3169 
3170     // Generate SHA1/SHA256/SHA512 intrinsics code.
3171     if (UseSHA1Intrinsics) {
3172       StubRoutines::_sha1_implCompress     = generate_SHA1_stub(false,   "SHA1_singleBlock");
3173       StubRoutines::_sha1_implCompressMB   = generate_SHA1_stub(true,    "SHA1_multiBlock");
3174     }
3175     if (UseSHA256Intrinsics) {
3176       StubRoutines::_sha256_implCompress   = generate_SHA256_stub(false, "SHA256_singleBlock");
3177       StubRoutines::_sha256_implCompressMB = generate_SHA256_stub(true,  "SHA256_multiBlock");
3178     }
3179     if (UseSHA512Intrinsics) {
3180       StubRoutines::_sha512_implCompress   = generate_SHA512_stub(false, "SHA512_singleBlock");
3181       StubRoutines::_sha512_implCompressMB = generate_SHA512_stub(true,  "SHA512_multiBlock");
3182     }

3183 #ifdef COMPILER2
3184     if (UseMultiplyToLenIntrinsic) {
3185       StubRoutines::_multiplyToLen = generate_multiplyToLen();
3186     }
3187     if (UseMontgomeryMultiplyIntrinsic) {
3188       StubRoutines::_montgomeryMultiply
3189         = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_multiply);
3190     }
3191     if (UseMontgomerySquareIntrinsic) {
3192       StubRoutines::_montgomerySquare
3193         = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square);
3194     }
3195     if (UseSecondarySupersTable) {
3196       StubRoutines::_lookup_secondary_supers_table_slow_path_stub = generate_lookup_secondary_supers_table_slow_path_stub();
3197       if (!InlineSecondarySupersTest) {
3198         for (int slot = 0; slot < Klass::SECONDARY_SUPERS_TABLE_SIZE; slot++) {
3199           StubRoutines::_lookup_secondary_supers_table_stubs[slot] = generate_lookup_secondary_supers_table_stub(slot);
3200         }
3201       }
3202     }
< prev index next >