1
1
Nathan Hjelm d86e41ea13 atomic/gcc: add check for 128-bit CAS being lock-free
Compiler implementations are free to include support for atomics that
use locks. Unfortunately lock-free and lock atomics do not mix. Older
versions of llvm on OS X use locks to provide
__atomic_compare_exchange on 128-bit values but are lock-free on
64-bit values. This screws up our lifo implementation which mixes
64-bit and 128-bit atomics on the same values to improve
performance. This commit adds a configure-time check if 128-bit
atomics are lock free. If they are not then the 128-bit __atomic CAS
is disabled and we check for the __sync version as a fallback.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-06-02 15:59:05 -06:00
..
2014-08-25 04:41:56 +00:00
2015-04-27 06:50:40 -07:00
2015-06-23 20:59:57 -07:00
2015-06-23 20:59:57 -07:00
2016-05-03 07:24:06 -07:00
2015-06-23 20:59:57 -07:00