src/cpu/x86/vm/globals_x86.hpp

changeset 6429
606acabe7b5c
parent 6378
8a8ff6b577ed
child 6518
62c54fcc0a35
     1.1 --- a/src/cpu/x86/vm/globals_x86.hpp	Sat Mar 22 00:26:48 2014 +0400
     1.2 +++ b/src/cpu/x86/vm/globals_x86.hpp	Thu Mar 20 17:49:27 2014 -0700
     1.3 @@ -128,6 +128,42 @@
     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")                         \

mercurial