159 160 assert(AllocatePrefetchStyle >= 0, "AllocatePrefetchStyle should be positive"); 161 162 if (UseCRC32Intrinsics) { 163 if (!FLAG_IS_DEFAULT(UseCRC32Intrinsics)) 164 warning("CRC32 intrinsics are not available on this CPU"); 165 FLAG_SET_DEFAULT(UseCRC32Intrinsics, false); 166 } 167 168 // The AES intrinsic stubs require AES instruction support. 169 if (UseAES) { 170 warning("AES instructions are not available on this CPU"); 171 FLAG_SET_DEFAULT(UseAES, false); 172 } 173 if (UseAESIntrinsics) { 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 (UseSHA) { 180 warning("SHA instructions are not available on this CPU"); 181 FLAG_SET_DEFAULT(UseSHA, false); 182 } 183 if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { 184 warning("SHA intrinsics are not available on this CPU"); 185 FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); 186 FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); 187 FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); 188 } 189 // Adjust RTM (Restricted Transactional Memory) flags. 190 if (!has_tcheck() && UseRTMLocking) { 191 // Can't continue because UseRTMLocking affects UseBiasedLocking flag 192 // setting during arguments processing. See use_biased_locking(). 193 // VM_Version_init() is executed after UseBiasedLocking is used 194 // in Thread::allocate(). 195 vm_exit_during_initialization("RTM instructions are not available on this CPU"); 196 } 197 198 if (UseRTMLocking) { | 159 160 assert(AllocatePrefetchStyle >= 0, "AllocatePrefetchStyle should be positive"); 161 162 if (UseCRC32Intrinsics) { 163 if (!FLAG_IS_DEFAULT(UseCRC32Intrinsics)) 164 warning("CRC32 intrinsics are not available on this CPU"); 165 FLAG_SET_DEFAULT(UseCRC32Intrinsics, false); 166 } 167 168 // The AES intrinsic stubs require AES instruction support. 169 if (UseAES) { 170 warning("AES instructions are not available on this CPU"); 171 FLAG_SET_DEFAULT(UseAES, false); 172 } 173 if (UseAESIntrinsics) { 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) { |