Mercurial > hg > graal-compiler
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, \ |