aboutsummaryrefslogtreecommitdiffstats
path: root/include/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* Avoid unnecessary macro parametersChris Robinson2017-04-141-13/+11
|
* Use separate atomic macros for pointersChris Robinson2017-04-141-49/+84
|
* Avoid duplicating code using a macroChris Robinson2016-12-211-0/+12
|
* Use separate macros for atomics that don't take a memory orderChris Robinson2016-12-201-45/+50
|
* Use atomic flags for boolean atomic locksChris Robinson2016-11-251-8/+44
|
* Remove the non-atomic COMPARE_EXCHANGE macroChris Robinson2016-11-221-5/+0
|
* Improve seqlock behaviorChris Robinson2016-11-211-0/+23
|
* Add support for 8-byte types on inline assembly ATOMIC_ADD/SUBChris Robinson2016-11-031-8/+12
|
* Fix win32 atomic fallbacksChris Robinson2016-11-031-1/+11
|
* Remove the explicit type from ATOMIC_ADD and ATOMIC_SUBChris Robinson2016-11-031-31/+21
|
* Remove a couple unneeded functionsChris Robinson2016-05-251-17/+0
|
* Allow optional memory ordering to atomic methodsChris Robinson2014-09-071-42/+81
| | | | | Currently only C11 atomics make use of the memory order. If not specified, it defaults to almemory_order_seq_cst.
* Make ExchangeInt and ExchangePtr non-atomicChris Robinson2014-09-031-41/+23
|
* Use an ATOMIC_INIT macro instead of ATOMIC_LOAD_UNSAFEChris Robinson2014-08-031-19/+5
|
* Use the right type for atomic compare-exchangeChris Robinson2014-08-011-4/+4
|
* Add some casts for inline assembly atomicsChris Robinson2014-08-011-6/+6
| | | | And remove an unnecessary void cast
* Use atomics for the device and context list headsChris Robinson2014-08-011-12/+12
|
* Remove an unused functionChris Robinson2014-07-311-8/+0
|
* Rename ATOMIC_COMPARE_EXCHANGE to ATOMIC_COMPARE_EXCHANGE_STRONGChris Robinson2014-07-311-9/+5
|
* Avoid a CPU memory fence, and better order memory barriers to accessesChris Robinson2014-07-311-13/+32
| | | | | | Code produced by GCC 4.9's C11 atomic implementation does not seem to add a CPU memory fence even with memory_order_seq_cst. Unnecessary memory fences will be a detriment to performance, so they should only be added if needed.
* Change Windows-based atomics for non-C99 compilersChris Robinson2014-07-271-17/+43
|
* Use a full memory barrier for WindowsChris Robinson2014-07-271-2/+2
|
* Explicitly pass the address of atomics and parameters that can be modifiedChris Robinson2014-07-261-54/+54
|
* Support C11 atomicsChris Robinson2014-07-231-55/+76
|
* Implement RefCount as a generic atomic typeChris Robinson2014-07-221-152/+108
|
* Add macros for generic atomic functionalityChris Robinson2014-07-221-36/+145
|
* Add extern "C" to common headers.Chris Robinson2014-05-291-0/+7
|
* Add methods to exchange and compare-exchange RefCount valuesChris Robinson2014-05-271-0/+38
|
* Make RefCount a non-integer typeChris Robinson2014-05-141-19/+35
| | | | | It should only be accessed through the appropriate functions to ensure proper atomicity.
* Always use unsigned int for RefCountChris Robinson2014-05-071-18/+22
|
* Move the static_assert definition to its own headerChris Robinson2014-05-071-0/+2
|
* Move some headers to include/Chris Robinson2014-05-061-0/+141
Note, these are not installed. Only headers in include/AL/ are installed.