-
Notifications
You must be signed in to change notification settings - Fork 733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make disable CAS and CAE options consistant #20721
Conversation
Currently in the middle of testing. So far things look good and problems are not expected. |
Changes TR_DisableCASInlining envvar to disable inlining Unsafe compareAndSwap on all platforms. This used to only work on X and would also disable inlining compareAndExchange at the same time. Now it only disables inlining compareAndSwap. Renames TR_DisableCAEIntrinsic envvar to TR_DisableCAEIntrinsic and it disables inlining Unsafe compareAndExchange on all platforms. Envvars are now checked in fewer locations and set an option bit instead. The following methods were added to support this: getSupportsInlineUnsafeCompareAndSet setSupportsInlineUnsafeCompareAndSet getSupportsInlineUnsafeCompareAndExchange setSupportsInlineUnsafeCompareAndExchange These methods are used to indicate support for inlining CAS/CAE and also to query for suppport. Signed-off-by: jimmyk <[email protected]>
0e98eec
to
1e3b2e5
Compare
Everything should be good now. Unfortunately, this changes a little bit on every platform so I'll need a review from a few different people. @hzongaro Can you look over the Common and X changes? No rush on this change since it is mostly code clean up so getting a review after the holidays is okay. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AArch64 changes look good to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the x86 and common changes look good. Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Jenkins test sanity all jdk23 |
Windows test looks like an infra problem ... always pending. Merge ... |
Changes TR_DisableCASInlining envvar to disable inlining Unsafe compareAndSwap on all platforms. This used to only work on X and would also disable inlining compareAndExchange at the same time. Now it only disables inlining compareAndSwap.
Renames TR_DisableCAEIntrinsic envvar to TR_DisableCAEIntrinsic and it disables inlining Unsafe compareAndExchange on all platforms.
Envvars are now checked in fewer locations and set an option bit instead. The following methods were added to support this: getSupportsInlineUnsafeCompareAndSet
setSupportsInlineUnsafeCompareAndSet
getSupportsInlineUnsafeCompareAndExchange
setSupportsInlineUnsafeCompareAndExchange
These methods are used to indicate support for inlining CAS/CAE and also to query for suppport.