atomic_test_and_set64
extern int64 atomic_test_and_set64(int64 *value, int64 newValue, int64 testAgainst);
return (PointerType*)atomic_test_and_set64((int64*)_pointer, (int64)set,
return atomic_test_and_set64(v, 1, 0);
int64 oldValue = atomic_test_and_set64(value, newValue, testAgainst);
uint64_t oldPteRefetch = (uint64_t)atomic_test_and_set64((int64*) ptePtr,
uint64_t loadedPte = atomic_test_and_set64((int64_t*)ptePtr, 0, oldPte);
if ((uint64_t)atomic_test_and_set64((int64_t*)ptePtr, newPte, oldPte) == oldPte) {
if ((uint64_t)atomic_test_and_set64((int64_t*)ptePtr, newPte, oldPte) == oldPte) {
if ((uint64_t)atomic_test_and_set64((int64_t*)ptePtr, newPte, oldPte) == oldPte) {
if ((uint64_t)atomic_test_and_set64((int64_t*)ptePtr, newPte, oldPte) == oldPte)
if ((uint64_t)atomic_test_and_set64((int64*)pte, newPte, oldPte) != oldPte)
if ((uint64_t)atomic_test_and_set64((int64*)pte, newPte, oldPte) != oldPte)
return atomic_test_and_set64((int64*)entry, newEntry, oldEntry);
return atomic_test_and_set64((int64*)entry, newEntry, oldEntry);
atomic_test_and_set64(int64_t* ptr, int64_t desired, int64_t expected)
return atomic_test_and_set64((int64 *)value, newValue, testAgainst);