183 warning("AES intrinsics are not available on this CPU"); 184 FLAG_SET_DEFAULT(UseAESIntrinsics, false); 185 } 186 187 if (UseGHASHIntrinsics) { 188 warning("GHASH intrinsics are not available on this CPU"); 189 FLAG_SET_DEFAULT(UseGHASHIntrinsics, false); 190 } 191 192 if (UseSHA) { 193 warning("SHA instructions are not available on this CPU"); 194 FLAG_SET_DEFAULT(UseSHA, false); 195 } 196 if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { 197 warning("SHA intrinsics are not available on this CPU"); 198 FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); 199 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); 200 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); 201 } 202 203 if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) { 204 UseMultiplyToLenIntrinsic = true; 205 } 206 207 // Adjust RTM (Restricted Transactional Memory) flags. 208 if (!has_tcheck() && UseRTMLocking) { 209 // Can't continue because UseRTMLocking affects UseBiasedLocking flag 210 // setting during arguments processing. See use_biased_locking(). 211 // VM_Version_init() is executed after UseBiasedLocking is used 212 // in Thread::allocate(). 213 vm_exit_during_initialization("RTM instructions are not available on this CPU"); 214 } 215 216 if (UseRTMLocking) { 217 #if INCLUDE_RTM_OPT 218 if (!UnlockExperimentalVMOptions) { 219 vm_exit_during_initialization("UseRTMLocking is only available as experimental option on this platform. " 220 "It must be enabled via -XX:+UnlockExperimentalVMOptions flag."); 221 } else { 222 warning("UseRTMLocking is only available as experimental option on this platform."); | 183 warning("AES intrinsics are not available on this CPU"); 184 FLAG_SET_DEFAULT(UseAESIntrinsics, false); 185 } 186 187 if (UseGHASHIntrinsics) { 188 warning("GHASH intrinsics are not available on this CPU"); 189 FLAG_SET_DEFAULT(UseGHASHIntrinsics, false); 190 } 191 192 if (UseSHA) { 193 warning("SHA instructions are not available on this CPU"); 194 FLAG_SET_DEFAULT(UseSHA, false); 195 } 196 if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { 197 warning("SHA intrinsics are not available on this CPU"); 198 FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); 199 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); 200 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); 201 } 202 203 if (UseAdler32Intrinsics) { 204 warning("Adler32Intrinsics not available on this CPU."); 205 FLAG_SET_DEFAULT(UseAdler32Intrinsics, false); 206 } 207 208 if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) { 209 UseMultiplyToLenIntrinsic = true; 210 } 211 212 // Adjust RTM (Restricted Transactional Memory) flags. 213 if (!has_tcheck() && UseRTMLocking) { 214 // Can't continue because UseRTMLocking affects UseBiasedLocking flag 215 // setting during arguments processing. See use_biased_locking(). 216 // VM_Version_init() is executed after UseBiasedLocking is used 217 // in Thread::allocate(). 218 vm_exit_during_initialization("RTM instructions are not available on this CPU"); 219 } 220 221 if (UseRTMLocking) { 222 #if INCLUDE_RTM_OPT 223 if (!UnlockExperimentalVMOptions) { 224 vm_exit_during_initialization("UseRTMLocking is only available as experimental option on this platform. " 225 "It must be enabled via -XX:+UnlockExperimentalVMOptions flag."); 226 } else { 227 warning("UseRTMLocking is only available as experimental option on this platform."); |