src/stm/atomic.h File Reference

Go to the source code of this file.

Defines

#define ret_t   long
#define ret32_t   int
#define ret64_t   long long
#define rc_ret_t   ret32_t
#define CAS32(addr, expval, newval)   cas32((int *)(addr),(int)(expval),(int)(newval))
#define CAS64(addr, expval, newval)   cas64((long long *)(addr),(long long)(expval),(long long)(newval))
#define CAS(addr, expval, newval)   CAS32(addr,expval,newval)
#define FAA(oldval, addr, val)


Define Documentation

#define CAS ( addr,
expval,
newval   )     CAS32(addr,expval,newval)

#define CAS32 ( addr,
expval,
newval   )     cas32((int *)(addr),(int)(expval),(int)(newval))

#define CAS64 ( addr,
expval,
newval   )     cas64((long long *)(addr),(long long)(expval),(long long)(newval))

#define FAA ( oldval,
addr,
val   ) 

Value:

do { \
    long newval; \
    oldval = *(addr); \
    newval = oldval + val; \
    int ret = CAS(addr,oldval,newval); \
    if (ret) break; \
 } while (1);

#define rc_ret_t   ret32_t

#define ret32_t   int

#define ret64_t   long long

#define ret_t   long


Generated on Tue Dec 9 13:39:39 2008 for Amino by  doxygen 1.5.6