1.1 --- a/src/cpu/x86/vm/globals_x86.hpp Tue Mar 25 12:54:21 2014 -0700 1.2 +++ b/src/cpu/x86/vm/globals_x86.hpp Tue Mar 25 17:07:36 2014 -0700 1.3 @@ -129,11 +129,53 @@ 1.4 product(bool, UseFastStosb, false, \ 1.5 "Use fast-string operation for zeroing: rep stosb") \ 1.6 \ 1.7 + /* Use Restricted Transactional Memory for lock eliding */ \ 1.8 + experimental(bool, UseRTMLocking, false, \ 1.9 + "Enable RTM lock eliding for inflated locks in compiled code") \ 1.10 + \ 1.11 + experimental(bool, UseRTMForStackLocks, false, \ 1.12 + "Enable RTM lock eliding for stack locks in compiled code") \ 1.13 + \ 1.14 + experimental(bool, UseRTMDeopt, false, \ 1.15 + "Perform deopt and recompilation based on RTM abort ratio") \ 1.16 + \ 1.17 + experimental(uintx, RTMRetryCount, 5, \ 1.18 + "Number of RTM retries on lock abort or busy") \ 1.19 + \ 1.20 + experimental(intx, RTMSpinLoopCount, 100, \ 1.21 + "Spin count for lock to become free before RTM retry") \ 1.22 + \ 1.23 + experimental(intx, RTMAbortThreshold, 1000, \ 1.24 + "Calculate abort ratio after this number of aborts") \ 1.25 + \ 1.26 + experimental(intx, RTMLockingThreshold, 10000, \ 1.27 + "Lock count at which to do RTM lock eliding without " \ 1.28 + "abort ratio calculation") \ 1.29 + \ 1.30 + experimental(intx, RTMAbortRatio, 50, \ 1.31 + "Lock abort ratio at which to stop use RTM lock eliding") \ 1.32 + \ 1.33 + experimental(intx, RTMTotalCountIncrRate, 64, \ 1.34 + "Increment total RTM attempted lock count once every n times") \ 1.35 + \ 1.36 + experimental(intx, RTMLockingCalculationDelay, 0, \ 1.37 + "Number of milliseconds to wait before start calculating aborts " \ 1.38 + "for RTM locking") \ 1.39 + \ 1.40 + experimental(bool, UseRTMXendForLockBusy, false, \ 1.41 + "Use RTM Xend instead of Xabort when lock busy") \ 1.42 + \ 1.43 /* assembler */ \ 1.44 product(bool, Use486InstrsOnly, false, \ 1.45 "Use 80486 Compliant instruction subset") \ 1.46 \ 1.47 product(bool, UseCountLeadingZerosInstruction, false, \ 1.48 "Use count leading zeros instruction") \ 1.49 + \ 1.50 + product(bool, UseCountTrailingZerosInstruction, false, \ 1.51 + "Use count trailing zeros instruction") \ 1.52 + \ 1.53 + product(bool, UseBMI1Instructions, false, \ 1.54 + "Use BMI instructions") 1.55 1.56 #endif // CPU_X86_VM_GLOBALS_X86_HPP