Skip to content
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

WIP: Make disable CAS and CAE options consistant #20721

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

IBMJimmyk
Copy link
Contributor

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.

@IBMJimmyk
Copy link
Contributor Author

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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant