src/cpu/x86/vm/vm_version_x86.cpp

changeset 7088
999824269b71
parent 7027
b20a35eae442
child 7152
166d744df0de
     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.

mercurial