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

Add singlethreaded fence intrinsics. #24833

Merged
merged 2 commits into from
Apr 30, 2015
Merged

Add singlethreaded fence intrinsics. #24833

merged 2 commits into from
Apr 30, 2015

Conversation

tari
Copy link
Contributor

@tari tari commented Apr 26, 2015

Closes #24118, implementing RFC 888.

These new intrinsics are comparable to `atomic_signal_fence` in C++,
ensuring the compiler will not reorder memory accesses across the
barrier, nor will it emit any machine instructions for it.

Closes rust-lang#24118, implementing RFC 888.
@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nrc (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see CONTRIBUTING.md for more information.

@nrc
Copy link
Member

nrc commented Apr 29, 2015

r? @alexcrichton (I think he's best for looking at this)

@rust-highfive rust-highfive assigned alexcrichton and unassigned nrc Apr 29, 2015
@alexcrichton
Copy link
Member

@bors: r+ 998c10d

Thanks!

@bors
Copy link
Contributor

bors commented Apr 29, 2015

⌛ Testing commit 998c10d with merge ce8e936...

@bors
Copy link
Contributor

bors commented Apr 29, 2015

💔 Test failed - auto-mac-64-opt

@tari
Copy link
Contributor Author

tari commented Apr 29, 2015

Updated to current snapshot.

@alexcrichton
Copy link
Member

@bors: r+ 94c9bde

@bors
Copy link
Contributor

bors commented Apr 29, 2015

⌛ Testing commit 94c9bde with merge de9bcf0...

@bors
Copy link
Contributor

bors commented Apr 29, 2015

💔 Test failed - auto-linux-32-opt

alexcrichton added a commit to alexcrichton/rust that referenced this pull request Apr 29, 2015
@alexcrichton
Copy link
Member

@bors: retry

@bors bors merged commit 94c9bde into rust-lang:master Apr 30, 2015
@jonhoo
Copy link
Contributor

jonhoo commented Apr 5, 2017

Are there any plans to eventually expose this outside of intrinsics? It's vital when writing low-level synchronization code, and given that intrinsics likely won't be stabilized, that basically ties such libraries to nightly-only...

@alexcrichton
Copy link
Member

@jonhoo I believe not currently, but if you'd like to see these on stable a PR to place them in libstd would be most welcome!

@jonhoo
Copy link
Contributor

jonhoo commented Apr 5, 2017

@alexcrichton Issue: #41091, PR: #41092

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.

Implement compiler fences
6 participants