mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-06 19:38:41 +03:00
remove lock code from atomics (as it is unused)
This commit is contained in:
parent
8e244f6616
commit
a16d95375f
2 changed files with 13 additions and 23 deletions
|
@ -52,9 +52,6 @@ static inline void* mi_atomic_exchange_ptr(volatile void** p, void* exchange) {
|
|||
}
|
||||
|
||||
|
||||
|
||||
#define mi_atomic_locked(mutex) for(bool _mheld = mi_mutex_lock(mutex); _mheld; _mheld = mi_mutex_unlock(mutex))
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
|
@ -176,22 +173,4 @@ static inline uintptr_t mi_atomic_exchange(volatile uintptr_t* p, uintptr_t exch
|
|||
|
||||
#endif
|
||||
|
||||
// Light weight mutex for low contention situations
|
||||
typedef struct mi_mutex_s {
|
||||
volatile uint32_t value;
|
||||
} mi_mutex_t;
|
||||
|
||||
static inline bool mi_mutex_lock(mi_mutex_t* mutex) {
|
||||
while(!mi_atomic_compare_exchange32(&mutex->value, 1, 0)) {
|
||||
mi_atomic_yield();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static inline bool mi_mutex_unlock(mi_mutex_t* mutex) {
|
||||
mutex->value = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
#endif // __MIMALLOC_ATOMIC_H
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue