mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-06 23:15:18 +00:00
atomic.hpp: add some features and optimizations
Add atomic_t<>::observe() (relaxed load) Add atomic_fence_XXX() (barrier functions) Get rid of MFENCE instruction, replace with no-op LOCK OR on stack. Remove <atomic> dependence from stdafx.h and relevant headers.
This commit is contained in:
parent
77aa9e58f2
commit
b16cc618b5
14 changed files with 171 additions and 60 deletions
|
|
@ -1146,7 +1146,7 @@ atomic_wait_engine::wait(const void* data, u32 size, __m128i old_value, u64 time
|
|||
std::unique_lock lock(*cond->mtx.get());
|
||||
#else
|
||||
if (ext_size)
|
||||
_mm_mfence();
|
||||
atomic_fence_seq_cst();
|
||||
#endif
|
||||
|
||||
// Can skip unqueue process if true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue