• vdukhovni's avatar
    Naming, value types and tests for Addr# atomics · 17d5c518
    vdukhovni authored
    The atomic Exchange and CAS operations on integral types are updated to
    take and return more natural `Word#` rather than `Int#` values.  These
    are bit-block not arithmetic operations, and the sign bit plays no
    special role.
    
    Standardises the names to `atomic<OpType><ValType>Addr#`, where `OpType` is one
    of `Cas` or `Exchange` and `ValType` is presently either `Word` or `Addr`.
    Eventually, variants for `Word32` and `Word64` can and should be added,
    once #11953 and related issues (e.g. #13825) are resolved.
    
    Adds tests for `Addr#` CAS that mirror existing tests for
    `MutableByteArray#`.
    17d5c518
Internal.hs 3.76 KB