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

Implement Unsafe opaque and acquire/release put and get methods #20475

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Spencer-Comin
Copy link
Contributor

Implement the Unsafe get and put methods with opaque and acquire/release memory semantics by using the corresponding access modes on the unsafe shadow symbols as introduced in eclipse-omr/omr#7517.

Note that this requires a coordinated merge with eclipse-omr/omr#7517.

Signed-off-by: Spencer Comin <spencer.comin@ibm.com>
Add opaque and acquire/release flavours of get put methods in Unsafe as
recognized methods, and generate unsafe shadow symbols with the correct
access modes when inlining these methods.

Signed-off-by: Spencer Comin <spencer.comin@ibm.com>
Since Unsafe.putOrdered is fully supported through acquire/release symbols, we
no longer need to duplicate the call tree to prevent incorrect optimizations.

Signed-off-by: Spencer Comin <spencer.comin@ibm.com>
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