equal
deleted
inserted
replaced
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 } |