1011 FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
1012 }
1013 } else if (UseSHA256Intrinsics) {
1014 warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
1015 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
1016 }
1017
1018 #ifdef _LP64
1019 // These are only supported on 64-bit
1020 if (UseSHA && supports_avx2() && supports_bmi2()) {
1021 if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
1022 FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
1023 }
1024 } else
1025 #endif
1026 if (UseSHA512Intrinsics) {
1027 warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
1028 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
1029 }
1030
1031 if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
1032 FLAG_SET_DEFAULT(UseSHA, false);
1033 }
1034
1035 if (UseAdler32Intrinsics) {
1036 warning("Adler32Intrinsics not available on this CPU.");
1037 FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
1038 }
1039
1040 if (!supports_rtm() && UseRTMLocking) {
1041 // Can't continue because UseRTMLocking affects UseBiasedLocking flag
1042 // setting during arguments processing. See use_biased_locking().
1043 // VM_Version_init() is executed after UseBiasedLocking is used
1044 // in Thread::allocate().
1045 vm_exit_during_initialization("RTM instructions are not available on this CPU");
1046 }
1047
1048 #if INCLUDE_RTM_OPT
1049 if (UseRTMLocking) {
1050 if (is_client_compilation_mode_vm()) {
|
1011 FLAG_SET_DEFAULT(UseSHA256Intrinsics, true);
1012 }
1013 } else if (UseSHA256Intrinsics) {
1014 warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
1015 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
1016 }
1017
1018 #ifdef _LP64
1019 // These are only supported on 64-bit
1020 if (UseSHA && supports_avx2() && supports_bmi2()) {
1021 if (FLAG_IS_DEFAULT(UseSHA512Intrinsics)) {
1022 FLAG_SET_DEFAULT(UseSHA512Intrinsics, true);
1023 }
1024 } else
1025 #endif
1026 if (UseSHA512Intrinsics) {
1027 warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
1028 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
1029 }
1030
1031 if (UseSHA3Intrinsics) {
1032 warning("Intrinsics for SHA3-224, SHA3-256, SHA3-384 and SHA3-512 crypto hash functions not available on this CPU.");
1033 FLAG_SET_DEFAULT(UseSHA3Intrinsics, false);
1034 }
1035
1036 if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
1037 FLAG_SET_DEFAULT(UseSHA, false);
1038 }
1039
1040 if (UseAdler32Intrinsics) {
1041 warning("Adler32Intrinsics not available on this CPU.");
1042 FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
1043 }
1044
1045 if (!supports_rtm() && UseRTMLocking) {
1046 // Can't continue because UseRTMLocking affects UseBiasedLocking flag
1047 // setting during arguments processing. See use_biased_locking().
1048 // VM_Version_init() is executed after UseBiasedLocking is used
1049 // in Thread::allocate().
1050 vm_exit_during_initialization("RTM instructions are not available on this CPU");
1051 }
1052
1053 #if INCLUDE_RTM_OPT
1054 if (UseRTMLocking) {
1055 if (is_client_compilation_mode_vm()) {
|