174 if (!FLAG_IS_DEFAULT(UseAESIntrinsics)) 175 warning("AES intrinsics are not available on this CPU"); 176 FLAG_SET_DEFAULT(UseAESIntrinsics, false); 177 } 178 179 if (UseGHASHIntrinsics) { 180 warning("GHASH intrinsics are not available on this CPU"); 181 FLAG_SET_DEFAULT(UseGHASHIntrinsics, false); 182 } 183 184 if (UseSHA) { 185 warning("SHA instructions are not available on this CPU"); 186 FLAG_SET_DEFAULT(UseSHA, false); 187 } 188 if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { 189 warning("SHA intrinsics are not available on this CPU"); 190 FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); 191 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); 192 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); 193 } 194 // Adjust RTM (Restricted Transactional Memory) flags. 195 if (!has_tcheck() && UseRTMLocking) { 196 // Can't continue because UseRTMLocking affects UseBiasedLocking flag 197 // setting during arguments processing. See use_biased_locking(). 198 // VM_Version_init() is executed after UseBiasedLocking is used 199 // in Thread::allocate(). 200 vm_exit_during_initialization("RTM instructions are not available on this CPU"); 201 } 202 203 if (UseRTMLocking) { 204 #if INCLUDE_RTM_OPT 205 if (!UnlockExperimentalVMOptions) { 206 vm_exit_during_initialization("UseRTMLocking is only available as experimental option on this platform. " 207 "It must be enabled via -XX:+UnlockExperimentalVMOptions flag."); 208 } else { 209 warning("UseRTMLocking is only available as experimental option on this platform."); 210 } 211 if (!FLAG_IS_CMDLINE(UseRTMLocking)) { 212 // RTM locking should be used only for applications with 213 // high lock contention. For now we do not use it by default. | 174 if (!FLAG_IS_DEFAULT(UseAESIntrinsics)) 175 warning("AES intrinsics are not available on this CPU"); 176 FLAG_SET_DEFAULT(UseAESIntrinsics, false); 177 } 178 179 if (UseGHASHIntrinsics) { 180 warning("GHASH intrinsics are not available on this CPU"); 181 FLAG_SET_DEFAULT(UseGHASHIntrinsics, false); 182 } 183 184 if (UseSHA) { 185 warning("SHA instructions are not available on this CPU"); 186 FLAG_SET_DEFAULT(UseSHA, false); 187 } 188 if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { 189 warning("SHA intrinsics are not available on this CPU"); 190 FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); 191 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); 192 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); 193 } 194 195 if (UseCRC32CIntrinsics) { 196 if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics)) 197 warning("CRC32C intrinsics are not available on this CPU"); 198 FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false); 199 } 200 201 // Adjust RTM (Restricted Transactional Memory) flags. 202 if (!has_tcheck() && UseRTMLocking) { 203 // Can't continue because UseRTMLocking affects UseBiasedLocking flag 204 // setting during arguments processing. See use_biased_locking(). 205 // VM_Version_init() is executed after UseBiasedLocking is used 206 // in Thread::allocate(). 207 vm_exit_during_initialization("RTM instructions are not available on this CPU"); 208 } 209 210 if (UseRTMLocking) { 211 #if INCLUDE_RTM_OPT 212 if (!UnlockExperimentalVMOptions) { 213 vm_exit_during_initialization("UseRTMLocking is only available as experimental option on this platform. " 214 "It must be enabled via -XX:+UnlockExperimentalVMOptions flag."); 215 } else { 216 warning("UseRTMLocking is only available as experimental option on this platform."); 217 } 218 if (!FLAG_IS_CMDLINE(UseRTMLocking)) { 219 // RTM locking should be used only for applications with 220 // high lock contention. For now we do not use it by default. |