cisco / ChezScheme

Chez Scheme
Apache License 2.0
6.89k stars 983 forks source link

clean up memory fence and compare-and-swap kernel functions #826

Closed mflatt closed 2 months ago

mflatt commented 2 months ago

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.