Andrey Semashev
07be21c7e8
Silenced some MSVC warnings.
2016-11-06 21:29:33 +03:00
Andrey Semashev
b8c91efe8f
Made spinning on the lock less expensive.
2014-12-20 17:30:35 +03:00
Andrey Semashev
b77b0aff22
Made spinning on the lock less expensive.
2014-12-20 17:26:18 +03:00
Andrey Semashev
d6cc2c93c1
Avoid the lock padding member altogether if padding size is 0.
2014-12-20 17:05:24 +03:00
Andrey Semashev
6995a64181
Added missing curly braces to the lock pool initializers. This should fix compilation when the compiler does not support brace folding.
2014-12-20 15:51:21 +03:00
Andrey Semashev
4cb51c6b76
Signed flag is now forwarded to the backends.
...
Forwarding the "signed" property allows to specialize operations
implementation, which may be desired for some architectures. This also
eliminates the formally implementation-defined result of unsigned-to-
target type.
Also for x86 implementations removed compiler barriers since the
compilers already treat intrinsics/asm blocks as ones.
2014-05-09 18:53:06 +04:00
Andrey Semashev
17cf91d8c9
Working on the library rewrite. Implemented gcc-x86 and gcc-sync
...
backends.
2014-05-04 00:14:24 +04:00
Andrey Semashev
625c3c3a2e
Compilation fixes. Added public headers for atomic_flag and atomic.
2014-04-20 17:26:42 +04:00
Andrey Semashev
9ded906200
The lock pool mutexes are now statically initialized. Fixes #9466 .
2013-12-14 19:44:23 +04:00
Andrey Semashev
6ab6038e99
Added a missing include.
...
[SVN r85091]
2013-07-20 17:59:19 +00:00
Andrey Semashev
55e8b16a12
Fixed compilation with gcc 4.4. Optimized code for gcc older than 4.7 and also added support for 128-bit atomic ops. Completed transition to defaulted and deleted functions.
...
[SVN r84801]
2013-06-16 13:40:11 +00:00
Andrey Semashev
9cab8a9ebf
Added a generic atomic<> implementation based on the new __atomic intrinsics available in gcc 4.7 and clang 3.2. The new implementation adds support for 128-bit atomic. Other implementations updated to employ new macros in Boost.Config for defaulted and deleted functions (this is not complete yet). Fixed padding for the lock pool. Initializing constructor for atomic<> made explicit to avoid ambiguities of different overloads of operator=.
...
[SVN r84800]
2013-06-15 20:43:48 +00:00
Andrey Semashev
55f3aaadaf
Code cleanup. Implemented optimized atomic operations for Windows.
...
[SVN r81969]
2012-12-15 13:24:01 +00:00
Helge Bahmann
71564c97cf
Add missing copyright and licence notices
...
Add missing notices to various files to make clear they are distributable
under the boost licence.
[SVN r80527]
2012-09-14 19:12:13 +00:00
Helge Bahmann
131b70c1fa
atomic: initial import
...
[SVN r79348]
2012-07-08 11:21:45 +00:00