Pyrogenesis  trunk
Functions
arm.cpp File Reference
#include "precompiled.h"
#include "lib/sysdep/cpu.h"
Include dependency graph for arm.cpp:

Functions

intptr_t cpu_AtomicAdd (volatile intptr_t *location, intptr_t increment)
 add a signed value to a variable without the possibility of interference from other threads/CPUs. More...
 
bool cpu_CAS (volatile intptr_t *location, intptr_t expected, intptr_t newValue)
 atomic "compare and swap". More...
 
bool cpu_CAS64 (volatile i64 *location, i64 expected, i64 newValue)
 
const char * cpu_IdentifierString ()
 

Function Documentation

intptr_t cpu_AtomicAdd ( volatile intptr_t *  location,
intptr_t  increment 
)

add a signed value to a variable without the possibility of interference from other threads/CPUs.

Returns
the previous value.
bool cpu_CAS ( volatile intptr_t *  location,
intptr_t  expected,
intptr_t  newValue 
)

atomic "compare and swap".

Parameters
locationaddress of the word to compare and possibly overwrite
expectedits expected value
newValuethe value with which to replace it
Returns
false if the target word doesn't match the expected value, otherwise true (also overwriting the contents of location)
bool cpu_CAS64 ( volatile i64 location,
i64  expected,
i64  newValue 
)
const char* cpu_IdentifierString ( )
Returns
string identifying the CPU (usually a cleaned-up version of the brand string)