Skip to content
  • Peter Trommler's avatar
    RTS SMP: Use compiler built-ins on all platforms. · eda73a3a
    Peter Trommler authored and Ben Gamari's avatar Ben Gamari committed
    Use C compiler builtins for atomic SMP primitives. This saves a lot
    of CPP ifdefs.
    
    Add test for atomic xchg:
    Test if __sync_lock_test_and_set() builtin stores the second argument.
    The gcc manual says the actual value stored is implementation defined.
    
    Test Plan: validate and eyeball generated assembler code
    
    Reviewers: kgardas, simonmar, hvr, bgamari, austin, erikd
    
    Reviewed By: simonmar
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2233
    eda73a3a