MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PFS_atomic Class Reference

#include <pfs_atomic.h>

Static Public Member Functions

static void init ()
static void cleanup ()
static int32 load_32 (volatile int32 *ptr)
static int64 load_64 (volatile int64 *ptr)
static uint32 load_u32 (volatile uint32 *ptr)
static uint64 load_u64 (volatile uint64 *ptr)
static void store_32 (volatile int32 *ptr, int32 value)
static void store_64 (volatile int64 *ptr, int64 value)
static void store_u32 (volatile uint32 *ptr, uint32 value)
static void store_u64 (volatile uint64 *ptr, uint64 value)
static int32 add_32 (volatile int32 *ptr, int32 value)
static int64 add_64 (volatile int64 *ptr, int64 value)
static uint32 add_u32 (volatile uint32 *ptr, uint32 value)
static uint64 add_u64 (volatile uint64 *ptr, uint64 value)
static bool cas_32 (volatile int32 *ptr, int32 *old_value, int32 new_value)
static bool cas_64 (volatile int64 *ptr, int64 *old_value, int64 new_value)
static bool cas_u32 (volatile uint32 *ptr, uint32 *old_value, uint32 new_value)
static bool cas_u64 (volatile uint64 *ptr, uint64 *old_value, uint64 new_value)

Detailed Description

Helper for atomic operations.

Definition at line 27 of file pfs_atomic.h.

Member Function Documentation

static int32 PFS_atomic::add_32 ( volatile int32 *  ptr,
int32  value 
)
inlinestatic

Atomic add.

Definition at line 108 of file pfs_atomic.h.

static int64 PFS_atomic::add_64 ( volatile int64 *  ptr,
int64  value 
)
inlinestatic

Atomic add.

Definition at line 118 of file pfs_atomic.h.

static uint32 PFS_atomic::add_u32 ( volatile uint32 *  ptr,
uint32  value 
)
inlinestatic

Atomic add.

Definition at line 128 of file pfs_atomic.h.

Here is the caller graph for this function:

static uint64 PFS_atomic::add_u64 ( volatile uint64 *  ptr,
uint64  value 
)
inlinestatic

Atomic add.

Definition at line 138 of file pfs_atomic.h.

Here is the caller graph for this function:

static bool PFS_atomic::cas_32 ( volatile int32 *  ptr,
int32 *  old_value,
int32  new_value 
)
inlinestatic

Atomic compare and swap.

Definition at line 148 of file pfs_atomic.h.

static bool PFS_atomic::cas_64 ( volatile int64 *  ptr,
int64 *  old_value,
int64  new_value 
)
inlinestatic

Atomic compare and swap.

Definition at line 159 of file pfs_atomic.h.

static bool PFS_atomic::cas_u32 ( volatile uint32 *  ptr,
uint32 *  old_value,
uint32  new_value 
)
inlinestatic

Atomic compare and swap.

Definition at line 170 of file pfs_atomic.h.

Here is the caller graph for this function:

static bool PFS_atomic::cas_u64 ( volatile uint64 *  ptr,
uint64 *  old_value,
uint64  new_value 
)
inlinestatic

Atomic compare and swap.

Definition at line 182 of file pfs_atomic.h.

void PFS_atomic::cleanup ( void  )
static

Cleanup the PFS_atomic component.

Definition at line 71 of file pfs_atomic.cc.

void PFS_atomic::init ( void  )
static

Initialise the PFS_atomic component.

Definition at line 63 of file pfs_atomic.cc.

Here is the caller graph for this function:

static int32 PFS_atomic::load_32 ( volatile int32 *  ptr)
inlinestatic

Atomic load.

Definition at line 36 of file pfs_atomic.h.

static int64 PFS_atomic::load_64 ( volatile int64 *  ptr)
inlinestatic

Atomic load.

Definition at line 46 of file pfs_atomic.h.

static uint32 PFS_atomic::load_u32 ( volatile uint32 *  ptr)
inlinestatic

Atomic load.

Definition at line 56 of file pfs_atomic.h.

Here is the caller graph for this function:

static uint64 PFS_atomic::load_u64 ( volatile uint64 *  ptr)
inlinestatic

Atomic load.

Definition at line 66 of file pfs_atomic.h.

static void PFS_atomic::store_32 ( volatile int32 *  ptr,
int32  value 
)
inlinestatic

Atomic store.

Definition at line 76 of file pfs_atomic.h.

static void PFS_atomic::store_64 ( volatile int64 *  ptr,
int64  value 
)
inlinestatic

Atomic store.

Definition at line 84 of file pfs_atomic.h.

static void PFS_atomic::store_u32 ( volatile uint32 *  ptr,
uint32  value 
)
inlinestatic

Atomic store.

Definition at line 92 of file pfs_atomic.h.

Here is the caller graph for this function:

static void PFS_atomic::store_u64 ( volatile uint64 *  ptr,
uint64  value 
)
inlinestatic

Atomic store.

Definition at line 100 of file pfs_atomic.h.


The documentation for this class was generated from the following files: