hotspot/src/cpu/x86/vm/vm_version_x86.cpp
changeset 26306 2b4cf8eb3de7
parent 25949 34557722059b
child 26434 09ad55e5f486
equal deleted inserted replaced
26185:f179c0827318 26306:2b4cf8eb3de7
   602     vm_exit_during_initialization("RTM instructions are not available on this CPU");
   602     vm_exit_during_initialization("RTM instructions are not available on this CPU");
   603   }
   603   }
   604 
   604 
   605 #if INCLUDE_RTM_OPT
   605 #if INCLUDE_RTM_OPT
   606   if (UseRTMLocking) {
   606   if (UseRTMLocking) {
       
   607     if (is_intel_family_core()) {
       
   608       if ((_model == CPU_MODEL_HASWELL_E3) ||
       
   609           (_model == CPU_MODEL_HASWELL_E7 && _stepping < 3) ||
       
   610           (_model == CPU_MODEL_BROADWELL  && _stepping < 4)) {
       
   611         if (!UnlockExperimentalVMOptions) {
       
   612           vm_exit_during_initialization("UseRTMLocking is only available as experimental option on this platform. It must be enabled via -XX:+UnlockExperimentalVMOptions flag.");
       
   613         } else {
       
   614           warning("UseRTMLocking is only available as experimental option on this platform.");
       
   615         }
       
   616       }
       
   617     }
   607     if (!FLAG_IS_CMDLINE(UseRTMLocking)) {
   618     if (!FLAG_IS_CMDLINE(UseRTMLocking)) {
   608       // RTM locking should be used only for applications with
   619       // RTM locking should be used only for applications with
   609       // high lock contention. For now we do not use it by default.
   620       // high lock contention. For now we do not use it by default.
   610       vm_exit_during_initialization("UseRTMLocking flag should be only set on command line");
   621       vm_exit_during_initialization("UseRTMLocking flag should be only set on command line");
   611     }
   622     }