comparison src/cpu/x86/vm/globals_x86.hpp @ 17780:606acabe7b5c

8031320: Use Intel RTM instructions for locks Summary: Use RTM for inflated locks and stack locks. Reviewed-by: iveresov, twisti, roland, dcubed
author kvn
date Thu, 20 Mar 2014 17:49:27 -0700
parents 8a8ff6b577ed
children 62c54fcc0a35
comparison
equal deleted inserted replaced
17778:a48e16541e6b 17780:606acabe7b5c
126 "Use SSE2 MOVDQU instruction for Arraycopy") \ 126 "Use SSE2 MOVDQU instruction for Arraycopy") \
127 \ 127 \
128 product(bool, UseFastStosb, false, \ 128 product(bool, UseFastStosb, false, \
129 "Use fast-string operation for zeroing: rep stosb") \ 129 "Use fast-string operation for zeroing: rep stosb") \
130 \ 130 \
131 /* Use Restricted Transactional Memory for lock eliding */ \
132 experimental(bool, UseRTMLocking, false, \
133 "Enable RTM lock eliding for inflated locks in compiled code") \
134 \
135 experimental(bool, UseRTMForStackLocks, false, \
136 "Enable RTM lock eliding for stack locks in compiled code") \
137 \
138 experimental(bool, UseRTMDeopt, false, \
139 "Perform deopt and recompilation based on RTM abort ratio") \
140 \
141 experimental(uintx, RTMRetryCount, 5, \
142 "Number of RTM retries on lock abort or busy") \
143 \
144 experimental(intx, RTMSpinLoopCount, 100, \
145 "Spin count for lock to become free before RTM retry") \
146 \
147 experimental(intx, RTMAbortThreshold, 1000, \
148 "Calculate abort ratio after this number of aborts") \
149 \
150 experimental(intx, RTMLockingThreshold, 10000, \
151 "Lock count at which to do RTM lock eliding without " \
152 "abort ratio calculation") \
153 \
154 experimental(intx, RTMAbortRatio, 50, \
155 "Lock abort ratio at which to stop use RTM lock eliding") \
156 \
157 experimental(intx, RTMTotalCountIncrRate, 64, \
158 "Increment total RTM attempted lock count once every n times") \
159 \
160 experimental(intx, RTMLockingCalculationDelay, 0, \
161 "Number of milliseconds to wait before start calculating aborts " \
162 "for RTM locking") \
163 \
164 experimental(bool, UseRTMXendForLockBusy, false, \
165 "Use RTM Xend instead of Xabort when lock busy") \
166 \
131 /* assembler */ \ 167 /* assembler */ \
132 product(bool, Use486InstrsOnly, false, \ 168 product(bool, Use486InstrsOnly, false, \
133 "Use 80486 Compliant instruction subset") \ 169 "Use 80486 Compliant instruction subset") \
134 \ 170 \
135 product(bool, UseCountLeadingZerosInstruction, false, \ 171 product(bool, UseCountLeadingZerosInstruction, false, \