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.
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.