HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SYS_MemoryOrder.h File Reference
#include "SYS_Compiler.h"
+ Include dependency graph for SYS_MemoryOrder.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SYSloadFence()
 
#define SYSstoreFence()
 
#define SYSmemoryFence()
 

Enumerations

enum  SYS_MemoryOrder { SYS_MEMORY_ORDER_RELAXED, SYS_MEMORY_ORDER_LOAD, SYS_MEMORY_ORDER_STORE, SYS_MEMORY_ORDER_SEQ_CST }
 

Macro Definition Documentation

#define SYSloadFence ( )

Definition at line 37 of file SYS_MemoryOrder.h.

#define SYSmemoryFence ( )

Definition at line 39 of file SYS_MemoryOrder.h.

#define SYSstoreFence ( )

Definition at line 38 of file SYS_MemoryOrder.h.

Enumeration Type Documentation

Enumerator
SYS_MEMORY_ORDER_RELAXED 

Any reordering the compiler or hardware chooses to do is okay.

SYS_MEMORY_ORDER_LOAD 

Prevents any reads by the same thread that follow this in program order from occurring before this read, i.e. a compiler and CPU load fence is placed after the read.

SYS_MEMORY_ORDER_STORE 

Prevents any writes by the same thread that precede this in program order from occurring after this write, i.e. a compiler and CPU store fence is placed before the write.

SYS_MEMORY_ORDER_SEQ_CST 

The current operation will be executed before any loads or stores that follow it in program order and after any loads or stores that precede it. Moreover, sequential consistency is assured meaning that all observers will see this operation in the same order relative to any other MEMORY_ORDER_SEQ_CST operations.

Definition at line 44 of file SYS_MemoryOrder.h.