clean up memory fence and compare-and-swap kernel functions #826
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CAS variants with different fence properties in "atomic.h" ware a leftover from an early experiment in parallel garbage collection, and that experiment did not turn out to be a good idea. The CAS variants were left half-implemented, and they're not needed, so this commit simplifies to reflect the needed functionality. Also, the commit adds comments to clarify that CAS support is used only for pb mode and to explain trade-offs for inline assembly and compiler intrinsics.
Small repairs to the build scripts enable pbarch builds on Windows, for what it's worth. Otherwise, this is just an internal clean-up and does not add anything new or fix any bugs.