1.1 --- a/src/cpu/x86/vm/vm_version_x86.cpp Thu Aug 28 14:05:08 2014 -0700 1.2 +++ b/src/cpu/x86/vm/vm_version_x86.cpp Fri Aug 22 12:03:49 2014 -0700 1.3 @@ -612,6 +612,17 @@ 1.4 1.5 #if INCLUDE_RTM_OPT 1.6 if (UseRTMLocking) { 1.7 + if (is_intel_family_core()) { 1.8 + if ((_model == CPU_MODEL_HASWELL_E3) || 1.9 + (_model == CPU_MODEL_HASWELL_E7 && _stepping < 3) || 1.10 + (_model == CPU_MODEL_BROADWELL && _stepping < 4)) { 1.11 + if (!UnlockExperimentalVMOptions) { 1.12 + vm_exit_during_initialization("UseRTMLocking is only available as experimental option on this platform. It must be enabled via -XX:+UnlockExperimentalVMOptions flag."); 1.13 + } else { 1.14 + warning("UseRTMLocking is only available as experimental option on this platform."); 1.15 + } 1.16 + } 1.17 + } 1.18 if (!FLAG_IS_CMDLINE(UseRTMLocking)) { 1.19 // RTM locking should be used only for applications with 1.20 // high lock contention. For now we do not use it by default.