18 #ifndef _DECAF_INTERNAL_UTIL_CONCURRENT_ATOMICS_H_ 19 #define _DECAF_INTERNAL_UTIL_CONCURRENT_ATOMICS_H_ 26 namespace concurrent {
47 static bool compareAndSet32(
volatile int* target,
int expect,
int update);
48 static bool compareAndSet(
volatile void** target,
void* expect,
void* update);
50 static void* getAndSet(
volatile void** target,
void* value);
51 static int getAndSet(
volatile int* target,
int value);
53 static int getAndIncrement(
volatile int* target);
54 static int getAndDecrement(
volatile int* target);
56 static int getAndAdd(
volatile int* target,
int delta);
57 static int addAndGet(
volatile int* target,
int delta);
59 static int incrementAndGet(
volatile int* target);
60 static int decrementAndGet(
volatile int* target);
64 static void initialize();
65 static void shutdown();
static bool compareAndSet(volatile void **target, void *expect, void *update)
#define DECAF_API
Definition: Config.h:29
static bool compareAndSwap(T *&target, T *expect, T *update)
Definition: Atomics.h:40
Definition: Threading.h:36
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25