src/cpu/x86/vm/globals_x86.hpp

changeset 6518
62c54fcc0a35
parent 6490
41b780b43b74
parent 6429
606acabe7b5c
child 6557
526acaf3626f
     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

mercurial