143 \
144 product(bool, UseXmmI2F, false, \
145 "Use SSE2 CVTDQ2PS instruction to convert Integer to Float") \
146 \
147 product(bool, UseUnalignedLoadStores, false, \
148 "Use SSE2 MOVDQU instruction for Arraycopy") \
149 \
150 product(bool, UseFastStosb, false, \
151 "Use fast-string operation for zeroing: rep stosb") \
152 \
153 /* Use Restricted Transactional Memory for lock eliding */ \
154 product(bool, UseRTMLocking, false, \
155 "Enable RTM lock eliding for inflated locks in compiled code") \
156 \
157 experimental(bool, UseRTMForStackLocks, false, \
158 "Enable RTM lock eliding for stack locks in compiled code") \
159 \
160 product(bool, UseRTMDeopt, false, \
161 "Perform deopt and recompilation based on RTM abort ratio") \
162 \
163 product(uintx, RTMRetryCount, 5, \
164 "Number of RTM retries on lock abort or busy") \
165 range(0, max_uintx) \
166 \
167 experimental(intx, RTMSpinLoopCount, 100, \
168 "Spin count for lock to become free before RTM retry") \
169 \
170 experimental(intx, RTMAbortThreshold, 1000, \
171 "Calculate abort ratio after this number of aborts") \
172 \
173 experimental(intx, RTMLockingThreshold, 10000, \
174 "Lock count at which to do RTM lock eliding without " \
175 "abort ratio calculation") \
176 \
177 experimental(intx, RTMAbortRatio, 50, \
178 "Lock abort ratio at which to stop use RTM lock eliding") \
179 \
180 experimental(intx, RTMTotalCountIncrRate, 64, \
181 "Increment total RTM attempted lock count once every n times") \
182 \
183 experimental(intx, RTMLockingCalculationDelay, 0, \
184 "Number of milliseconds to wait before start calculating aborts " \
185 "for RTM locking") \
186 \
187 experimental(bool, UseRTMXendForLockBusy, true, \
188 "Use RTM Xend instead of Xabort when lock busy") \
189 \
190 /* assembler */ \
191 product(bool, UseCountLeadingZerosInstruction, false, \
192 "Use count leading zeros instruction") \
193 \
194 product(bool, UseCountTrailingZerosInstruction, false, \
195 "Use count trailing zeros instruction") \
196 \
197 product(bool, UseSSE42Intrinsics, false, \
198 "SSE4.2 versions of intrinsics") \
199 \
200 product(bool, UseBMI1Instructions, false, \
201 "Use BMI1 instructions") \
|
143 \
144 product(bool, UseXmmI2F, false, \
145 "Use SSE2 CVTDQ2PS instruction to convert Integer to Float") \
146 \
147 product(bool, UseUnalignedLoadStores, false, \
148 "Use SSE2 MOVDQU instruction for Arraycopy") \
149 \
150 product(bool, UseFastStosb, false, \
151 "Use fast-string operation for zeroing: rep stosb") \
152 \
153 /* Use Restricted Transactional Memory for lock eliding */ \
154 product(bool, UseRTMLocking, false, \
155 "Enable RTM lock eliding for inflated locks in compiled code") \
156 \
157 experimental(bool, UseRTMForStackLocks, false, \
158 "Enable RTM lock eliding for stack locks in compiled code") \
159 \
160 product(bool, UseRTMDeopt, false, \
161 "Perform deopt and recompilation based on RTM abort ratio") \
162 \
163 product(int, RTMRetryCount, 5, \
164 "Number of RTM retries on lock abort or busy") \
165 range(0, max_jint) \
166 \
167 experimental(int, RTMSpinLoopCount, 100, \
168 "Spin count for lock to become free before RTM retry") \
169 range(0, max_jint) \
170 \
171 experimental(int, RTMAbortThreshold, 1000, \
172 "Calculate abort ratio after this number of aborts") \
173 range(0, max_jint) \
174 \
175 experimental(int, RTMLockingThreshold, 10000, \
176 "Lock count at which to do RTM lock eliding without " \
177 "abort ratio calculation") \
178 range(0, max_jint) \
179 \
180 experimental(int, RTMAbortRatio, 50, \
181 "Lock abort ratio at which to stop use RTM lock eliding") \
182 range(0, 100) /* natural range, checked in vm_version_x86.cpp */ \
183 \
184 experimental(int, RTMTotalCountIncrRate, 64, \
185 "Increment total RTM attempted lock count once every n times") \
186 range(1, max_jint) \
187 \
188 experimental(intx, RTMLockingCalculationDelay, 0, \
189 "Number of milliseconds to wait before start calculating aborts " \
190 "for RTM locking") \
191 \
192 experimental(bool, UseRTMXendForLockBusy, true, \
193 "Use RTM Xend instead of Xabort when lock busy") \
194 \
195 /* assembler */ \
196 product(bool, UseCountLeadingZerosInstruction, false, \
197 "Use count leading zeros instruction") \
198 \
199 product(bool, UseCountTrailingZerosInstruction, false, \
200 "Use count trailing zeros instruction") \
201 \
202 product(bool, UseSSE42Intrinsics, false, \
203 "SSE4.2 versions of intrinsics") \
204 \
205 product(bool, UseBMI1Instructions, false, \
206 "Use BMI1 instructions") \
|