-
Notifications
You must be signed in to change notification settings - Fork 728
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
Accelerate Unsafe CAS Intrinsics on Aarch64 #20432
Conversation
Adds support for the following recognized methods: CompareAndExchangeObject //JDK11 CompareAndExchangeReference //JDK17,21 CompareAndExchangeInt //JDK11,17,21 CompareAndExchangeLong //JDK11,17,21 The accelerated CAE code was built on top of the existing accelerated CAS support on Arm. Changes are similar to previously added support on Power, X and Z. Cleans up isUnsafeCAS to remove the now unused comp parameter. Also cleans up isUnsafeWithObjectArg, isVarHandleAccessMethod and isSignaturePolymorphicMethod to remove unused comp parameters. Signed-off-by: jimmyk <[email protected]>
@hzongaro When you get a chance, can you look over the common changes here as well? |
@knn-k I haven't had to submit Arm changes before. Are you the one I need to ask to review Arm changes or is there someone else? |
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 changes in common code look good. Thanks!
Updates comments and remove unneeded 64bit checks for genCAS on Aarch64.
Jenkins test sanity alinux64,amac jdk17 depends eclipse-omr/omr#7505 |
Jenkins test sanity.system amac jdk17 depends eclipse-omr/omr#7505 |
Jenkins compile xlinux,plinux jdk21 depends eclipse-omr/omr#7505 |
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.
I tried to perform a coordinated merge with eclipse-omr/omr#7505, but the Mirror-OMR-To-OpenJ9-OMR job in the procedure failed unexpectedly. |
It's fixed now. |
Merging now. |
Adds support for the following recognized methods:
The accelerated CAE code was built on top of the existing accelerated CAS support on Arm. Changes are similar to previously added support on Power, X and Z.
Cleans up
isUnsafeCAS
to remove the now unusedcomp
parameter. Also cleans upisUnsafeWithObjectArg
,isVarHandleAccessMethod
andisSignaturePolymorphicMethod
to remove unused comp parameters.Edit:
Needs to be check in with:
eclipse-omr/omr#7505
Due to the changes to the parameters of
isUnsafeCAS
andisUnsafeWithObjectArg
.