Jordan Williams
59b5b17e81
Add support for different sync instructions for CodeWarrior PPC ( #95 )
...
* Use msync or se_isync as appropriate for CodeWarrior PPC
* Un-obsolete sp_counted_base_cw_ppc
* Remove untested VLE_ON branch
* Use the supported compiler intrinsic __sync(); instead of msync asm
* Revert "Use the supported compiler intrinsic __sync(); instead of msync asm"
This reverts commit 9b92ea28f0
.
2022-06-22 18:41:00 +03:00
fanquake
f4d7116241
refactor: use core/checked_delete.hpp over checked_delete.hpp
...
boost/checked_delete.hpp has been deprecated.
2022-04-03 16:49:10 +01:00
Peter Dimov
b52d7548b3
Enable move-only deleters in the allocator constructor
2021-05-11 02:05:28 +03:00
Peter Dimov
594c7485a5
Enable move-only deleters
2021-05-11 01:59:01 +03:00
Peter Dimov
d41546ddce
Move the unique_ptr deleter instead of copying it
2021-05-11 01:20:02 +03:00
Peter Dimov
6e8c15c02f
Fix typo, trailing whitespace
2020-06-10 21:59:48 +03:00
Peter Dimov
7c0dcd338a
Refactor yield_k.hpp
2020-06-10 18:58:08 +03:00
Peter Dimov
8d79ceaf8a
Revert using a relaxed load before test_and_set; not necessary, and slower, with a proper yielding strategy as opposed to just pause-spinning
2020-06-10 18:20:33 +03:00
Peter Dimov
d35cf29b99
Revert "Use a relaxed load before XCHG to not lock cache line on contention (AMD spinlock recommendation per < https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ >)"
...
This reverts commit 8afe162910
.
2020-06-10 18:18:35 +03:00
Peter Dimov
72ca834ae8
Change yield_k to not use sp_thread_yield; using sp_thread_sleep is always strictly superior, at least on Windows
2020-06-07 21:24:21 +03:00
Peter Dimov
8afe162910
Use a relaxed load before XCHG to not lock cache line on contention (AMD spinlock recommendation per < https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ >)
2020-06-07 21:07:35 +03:00
Peter Dimov
5d31c1c443
Refactor yield_k.hpp
2020-06-07 20:40:41 +03:00
Peter Dimov
3db4ad9a15
Use a relaxed load before test_and_set to not lock cache line on contention (AMD spinlock recommendation per < https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ >)
2020-06-07 17:59:55 +03:00
Peter Dimov
d0655ab145
Add atomic_count_gcc_atomic.hpp
2020-06-07 06:29:14 +03:00
Peter Dimov
7c01e640f7
Use int_least32_t in atomic_count_sync; prefer it to atomic_count_gcc_x86; mark latter obsolete
2020-06-07 06:05:17 +03:00
Peter Dimov
00db1e02c6
Add spinlock_gcc_atomic.hpp
2020-06-07 05:00:03 +03:00
Peter Dimov
914b93430a
Change spinlock_sync.hpp to use a single byte
2020-06-07 04:10:49 +03:00
Peter Dimov
15ffd7852b
Remove Clang C11 implementation; no longer used
2020-06-07 02:05:55 +03:00
Peter Dimov
c66c4f5ed1
Mark platform-specific implementations as obsolete
2020-06-07 02:04:42 +03:00
Peter Dimov
7e9d8c39a3
Add sp_has_gcc_intrinsics.hpp, sp_counted_base_gcc_atomic.hpp
2020-06-06 20:43:08 +03:00
Peter Dimov
a0d08b17e0
Fix include guards
2020-06-06 17:13:56 +03:00
Peter Dimov
108a86cdbd
Rename sp_has_sync.hpp to sp_has_sync_intrinsics.hpp
2020-06-06 17:11:28 +03:00
Peter Dimov
d08bdc86e5
Remove unused files
2020-06-06 16:59:36 +03:00
Peter Dimov
f8dcf5f6f4
Use BOOST_SMT_PAUSE starting from the first iteration
2020-06-06 16:54:57 +03:00
Peter Dimov
5dd84ea389
Add .owner_hash_value to shared/weak_ptr, hash_value, std::hash/equal_to specializations for weak_ptr
2020-06-04 20:40:57 +03:00
Peter Dimov
6c181a0707
When BOOST_SP_REPORT_IMPLEMENTATION is defined, report what platform-specific atomic implementation is used
2020-06-02 20:51:38 +03:00
Peter Dimov
dc6c76d7e9
Move lightweight_thread.hpp to smart_ptr/detail
2020-06-02 17:55:15 +03:00
Peter Dimov
4b724ab3f8
Add mixed shared_count/weak_count operator== overloads to avoid refcount manipulation
2020-05-31 22:07:36 +03:00
Peter Dimov
62b0e5cdf4
Add mixed shared_count/weak_count operator< overloads to avoid refcount manipulation
2020-05-31 21:12:12 +03:00
Peter Dimov
1e5df9d551
Merge pull request #79 from EugeneZelenko/use-boost-override
...
Fix Clang-tidy modernize-use-override warnings.
2020-05-19 01:58:20 +03:00
Eugene Zelenko
2af343a2cb
Fix Clang-tidy modernize-use-override warnings.
2020-05-12 18:01:55 -07:00
Edward Diener
c6b3700ef1
Merge branch 'develop' of https://github.com/boostorg/smart_ptr into cppbuilder
2020-05-06 11:32:12 -04:00
Edward Diener
2a93d30e73
Change conditions to be the same.
2020-05-06 11:31:57 -04:00
Peter Dimov
066b398114
Disable -Wc11-extensions in sp_counted_base_clang.hpp
2020-04-27 00:50:15 +03:00
Edward Diener
df06c324a7
Merge branch 'develop' of https://github.com/boostorg/smart_ptr into cppbuilder
2020-04-19 02:49:06 -04:00
Peter Dimov
a2732e207a
Add BOOST_OVERRIDE to sp_counted_impl.hpp
2020-04-14 00:55:52 +03:00
Peter Dimov
2320dafc03
Add BOOST_OVERRIDE to bad_weak_ptr.hpp and local_counted_base.hpp
2020-04-14 00:42:57 +03:00
Edward Diener
cd562eb053
Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
2020-03-26 17:17:22 -04:00
Peter Dimov
169c0cd52a
Remove lwm_nop.hpp; add lwm_std_mutex.hpp
2020-01-08 03:57:13 +02:00
Peter Dimov
7d70691a16
Remove Windows Runtime workaround from yield_k.hpp; it's no longer relevant, Sleep is available
2020-01-08 03:09:11 +02:00
Peter Dimov
90c27d7cfa
Remove Windows Runtime workaround from lwm_win32_cs.hpp; it's no longer relevant, InitializeCriticalSection is available
2020-01-08 02:55:14 +02:00
Glen Fernandes
43d1fe12c5
Include lightweight_test from core and workaround from config
2020-01-01 08:31:25 -05:00
Carl Bussey
876d40a9ab
atomic_count_std_atomic: static_cast v to std::int_least32_t
...
* fix implicit conversion warning
2019-06-18 11:44:17 +02:00
Glen Fernandes
872bf10347
Move construct and destroy from Smart_Ptr to Core
2019-05-03 17:39:25 -04:00
Glen Fernandes
1298c2e8e5
Include sp_noexcept.hpp in sp_construct.hpp
2019-05-02 18:00:53 -04:00
Glen Fernandes
d593061b15
Move construct and destroy utilities to common header
2019-05-02 09:48:45 -04:00
Peter Dimov
a571b3a250
Only include core/typeinfo.hpp when needed
2019-04-22 06:07:36 +03:00
Peter Dimov
e306b30dcf
Use a private detail/sp_typeinfo header instead of the deprecated Core one
2019-04-22 05:25:07 +03:00
Peter Dimov
aa1341a6a2
Add BOOST_SP_NOEXCEPT to sp_counted_base_nt.hpp
2019-01-28 21:24:09 +02:00
Peter Dimov
053779f3ee
Add BOOST_SP_NOEXCEPT to sp_counted_base_clang.hpp
2019-01-28 20:52:28 +02:00