atomicops-internals-x86.h

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

構成

struct  AtomicOps_x86CPUFeatureStruct

マクロ定義

#define ATOMICOPS_WORD_SUFFIX   "l"
#define ATOMICOPS_COMPILER_BARRIER()   __asm__ __volatile__("" : : : "memory")

型定義

typedef intptr_t AtomicWord
typedef int32_t Atomic32

関数

AtomicWord CompareAndSwap (volatile AtomicWord *ptr, AtomicWord old_value, AtomicWord new_value)
AtomicWord AtomicExchange (volatile AtomicWord *ptr, AtomicWord new_value)
AtomicWord AtomicIncrement (volatile AtomicWord *ptr, AtomicWord increment)
AtomicWord Acquire_CompareAndSwap (volatile AtomicWord *ptr, AtomicWord old_value, AtomicWord new_value)
AtomicWord Release_CompareAndSwap (volatile AtomicWord *ptr, AtomicWord old_value, AtomicWord new_value)
void MemoryBarrier ()
void Acquire_Store (volatile AtomicWord *ptr, AtomicWord value)
void Release_Store (volatile AtomicWord *ptr, AtomicWord value)
AtomicWord Acquire_Load (volatile const AtomicWord *ptr)
AtomicWord Release_Load (volatile const AtomicWord *ptr)
Atomic32 CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
Atomic32 AtomicExchange (volatile Atomic32 *ptr, Atomic32 new_value)
Atomic32 AtomicIncrement (volatile Atomic32 *ptr, Atomic32 increment)
Atomic32 Acquire_CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
Atomic32 Release_CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
void Acquire_Store (volatile Atomic32 *ptr, Atomic32 value)
void Release_Store (volatile Atomic32 *ptr, Atomic32 value)
Atomic32 Acquire_Load (volatile const Atomic32 *ptr)
Atomic32 Release_Load (volatile const Atomic32 *ptr)

変数

struct
AtomicOps_x86CPUFeatureStruct 
AtomicOps_Internalx86CPUFeatures


マクロ定義

 
#define ATOMICOPS_COMPILER_BARRIER (  )     __asm__ __volatile__("" : : : "memory")

atomicops-internals-x86.h113 行で定義されています。

参照元 Release_Store().

#define ATOMICOPS_WORD_SUFFIX   "l"

atomicops-internals-x86.h50 行で定義されています。

参照元 AtomicExchange(), AtomicIncrement(), と CompareAndSwap().


型定義

typedef int32_t Atomic32

atomicops-internals-x86.h42 行で定義されています。

typedef intptr_t AtomicWord

atomicops-internals-x86.h41 行で定義されています。


関数

Atomic32 Acquire_CompareAndSwap ( volatile Atomic32 ptr,
Atomic32  old_value,
Atomic32  new_value 
) [inline]

AtomicWord Acquire_CompareAndSwap ( volatile AtomicWord ptr,
AtomicWord  old_value,
AtomicWord  new_value 
) [inline]

Atomic32 Acquire_Load ( volatile const Atomic32 ptr  )  [inline]

atomicops-internals-x86.h238 行で定義されています。

参照先 MemoryBarrier().

AtomicWord Acquire_Load ( volatile const AtomicWord ptr  )  [inline]

atomicops-internals-x86.h160 行で定義されています。

参照先 MemoryBarrier().

void Acquire_Store ( volatile Atomic32 ptr,
Atomic32  value 
) [inline]

atomicops-internals-x86.h221 行で定義されています。

参照先 MemoryBarrier().

void Acquire_Store ( volatile AtomicWord ptr,
AtomicWord  value 
) [inline]

Atomic32 AtomicExchange ( volatile Atomic32 ptr,
Atomic32  new_value 
) [inline]

atomicops-internals-x86.h187 行で定義されています。

AtomicWord AtomicExchange ( volatile AtomicWord ptr,
AtomicWord  new_value 
) [inline]

atomicops-internals-x86.h76 行で定義されています。

参照先 ATOMICOPS_WORD_SUFFIX.

Atomic32 AtomicIncrement ( volatile Atomic32 ptr,
Atomic32  increment 
) [inline]

atomicops-internals-x86.h196 行で定義されています。

AtomicWord AtomicIncrement ( volatile AtomicWord ptr,
AtomicWord  increment 
) [inline]

atomicops-internals-x86.h85 行で定義されています。

参照先 ATOMICOPS_WORD_SUFFIX.

Atomic32 CompareAndSwap ( volatile Atomic32 ptr,
Atomic32  old_value,
Atomic32  new_value 
) [inline]

atomicops-internals-x86.h176 行で定義されています。

AtomicWord CompareAndSwap ( volatile AtomicWord ptr,
AtomicWord  old_value,
AtomicWord  new_value 
) [inline]

atomicops-internals-x86.h65 行で定義されています。

参照先 ATOMICOPS_WORD_SUFFIX.

void MemoryBarrier (  )  [inline]

Atomic32 Release_CompareAndSwap ( volatile Atomic32 ptr,
Atomic32  old_value,
Atomic32  new_value 
) [inline]

atomicops-internals-x86.h215 行で定義されています。

参照先 CompareAndSwap().

AtomicWord Release_CompareAndSwap ( volatile AtomicWord ptr,
AtomicWord  old_value,
AtomicWord  new_value 
) [inline]

atomicops-internals-x86.h107 行で定義されています。

参照先 CompareAndSwap().

Atomic32 Release_Load ( volatile const Atomic32 ptr  )  [inline]

atomicops-internals-x86.h244 行で定義されています。

参照先 MemoryBarrier().

AtomicWord Release_Load ( volatile const AtomicWord ptr  )  [inline]

atomicops-internals-x86.h166 行で定義されています。

参照先 MemoryBarrier().

void Release_Store ( volatile Atomic32 ptr,
Atomic32  value 
) [inline]

atomicops-internals-x86.h226 行で定義されています。

参照先 ATOMICOPS_COMPILER_BARRIER.

void Release_Store ( volatile AtomicWord ptr,
AtomicWord  value 
) [inline]

atomicops-internals-x86.h148 行で定義されています。

参照先 ATOMICOPS_COMPILER_BARRIER.


変数


Thu Oct 8 05:01:10 2009に生成されました。  doxygen 1.5.6