CACAO
Namespaces | Functions | Variables
atomic.cpp File Reference

Go to the source code of this file.

Namespaces

 Atomic
 

Functions

uint32_t Atomic::generic_compare_and_swap (volatile uint32_t *p, uint32_t oldval, uint32_t newval)
 A generic atomic compare and swap for 32-bit integer values. More...
 
uint64_t Atomic::generic_compare_and_swap (volatile uint64_t *p, uint64_t oldval, uint64_t newval)
 A generic atomic compare and swap for 64-bit integer values. More...
 
voidAtomic::generic_compare_and_swap (volatile void **p, void *oldval, void *newval)
 A generic atomic compare and swap for pointer values. More...
 
void Atomic::generic_memory_barrier (void)
 A generic memory barrier. More...
 
uint32_t Atomic_compare_and_swap_32 (uint32_t *p, uint32_t oldval, uint32_t newval)
 
uint64_t Atomic_compare_and_swap_64 (uint64_t *p, uint64_t oldval, uint64_t newval)
 
voidAtomic_compare_and_swap_ptr (void **p, void *oldval, void *newval)
 
void Atomic_memory_barrier (void)
 
void Atomic_write_memory_barrier (void)
 
void Atomic_instruction_barrier (void)
 

Variables

static Mutex lock
 

Function Documentation

uint32_t Atomic_compare_and_swap_32 ( uint32_t *  p,
uint32_t  oldval,
uint32_t  newval 
)

Definition at line 140 of file atomic.cpp.

uint64_t Atomic_compare_and_swap_64 ( uint64_t *  p,
uint64_t  oldval,
uint64_t  newval 
)

Definition at line 141 of file atomic.cpp.

void* Atomic_compare_and_swap_ptr ( void **  p,
void oldval,
void newval 
)

Definition at line 142 of file atomic.cpp.

void Atomic_instruction_barrier ( void  )

Definition at line 145 of file atomic.cpp.

void Atomic_memory_barrier ( void  )

Definition at line 143 of file atomic.cpp.

void Atomic_write_memory_barrier ( void  )

Definition at line 144 of file atomic.cpp.

Variable Documentation

Mutex lock
static

Definition at line 34 of file atomic.cpp.