Migrate to modern TBB version
This commit is contained in:
parent
b27a43de2c
commit
02cb20e890
@ -16,7 +16,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
// for `InterlockedCompareExchange`
|
// for `InterlockedCompareExchange64`
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ inline WordT set_upper_value(WordT word, WordT mask, std::uint8_t offset, T valu
|
|||||||
inline bool compare_and_swap(uint64_t *ptr, uint64_t old_value, uint64_t new_value)
|
inline bool compare_and_swap(uint64_t *ptr, uint64_t old_value, uint64_t new_value)
|
||||||
{
|
{
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
return InterlockedCompareExchange(ptr, new_value, old_value) != old_value;
|
return InterlockedCompareExchange64(ptr, new_value, old_value) == old_value;
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
return __sync_bool_compare_and_swap(ptr, old_value, new_value);
|
return __sync_bool_compare_and_swap(ptr, old_value, new_value);
|
||||||
#else
|
#else
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user