• unknown's avatar
    Bug#33728 Atomic builtins · 26af3c7e
    unknown authored
    Use compiler provided atomic builtins as a 'backend' for
    MySQL's atomic primitives. The builtins are available on
    a handful of platforms and compilers.
    
    
    configure.in:
      Check if the compiler provides atomic builtins and
      that __sync_lock_test_and_set stores the correct value.
    include/atomic/nolock.h:
      Use the atomic builtins if available.
    include/atomic/gcc_builtins.h:
      Implement the atomic ADD, SWAP, CAS, STORE (or operation
      optimized away) and LOAD primitives using atomic builtins
      provided by the compiler.
    26af3c7e
gcc_builtins.h 1.35 KB