summaryrefslogtreecommitdiff
path: root/include/ruby/atomic.h
AgeCommit message (Collapse)Author
2024-11-02Include windows.h for `LONG` and `Interlocked` functionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/11985
2024-06-07Cast `RUBY_ATOMIC_PTR_CAS` argumentsNobuyoshi Nakada
As well as `RUBY_ATOMIC_PTR_EXCHANGE` and `RUBY_ATOMIC_PTR_LOAD`.
2024-02-11Win32: Fix pre-defined macros for platformsNobuyoshi Nakada
Use `_WIN64` for word-size, `_M_AMD64` for CPU-specific feature.
2023-12-10Add RUBY_ATOMIC_{PTR_,}FETCH macros for atomic loadsKJ Tsanaktsidis
This can already be emulated by doing an atomic fetch_add of zero, but this is more explicit. [Bug #19994]
2021-09-24Align the implementation precedences with `rb_atomic_t` definitionNobuyoshi Nakada
On MinGW, where both of Win32 API and GCC built-ins are available, the mismatch of implementations to the definition caused lots of warnings.
2021-09-22include/ruby/atomic.h: rework卜部昌平
Reduce macros to do the same things in inline functions instead. This way assertions can be made granular. Notes: Merged: https://github.com/ruby/ruby/pull/4848
2021-09-15include/ruby/atomic.h: add doxygen卜部昌平
Must not be a bad idea to improve documents. [ci skip] Notes: Merged: https://github.com/ruby/ruby/pull/4835
2021-03-07Removed a typo in a comment [ci skip]Nobuyoshi Nakada
2020-12-24Use RBIMPL_COMPILER_{SINCE,BEFORE} for MSVCNobuyoshi Nakada
Pointed out by @shyouhei. NOTE: Already we have dropped the support for older MSVCs, probably prior to 1300 or 1400. Remove the conditional code, especially in win32/Makefile.sub.
2020-12-24Expose atomic operation macros with RUBY prefixNobuyoshi Nakada
Now we need atomic operations, which are lighter than mutex, more widely for extension libraries because of Ractor. Notes: Merged: https://github.com/ruby/ruby/pull/3983