#include "fixable_page_h.h"
#include "vec_t.h"
Go to the source code of this file.
§ STATIC_LESS_THAN
§ ACCESS_ONCE()
template<typename T >
| T volatile& ACCESS_ONCE |
( |
T & |
t | ) |
|
|
inline |
C++ version of Linux kernel's ACCESS_ONCE() macro
Prevent the compiler from merging or refetching accesses. The compiler is also forbidden from reordering successive instances of ACCESS_ONCE(), but only when the compiler is aware of some particular ordering. One way to make the compiler aware of ordering is to put the two invocations of ACCESS_ONCE() in different C statements.
This does absolutely -nothing- to prevent the CPU from reordering, merging, or refetching absolutely anything at any time.
§ BOOST_STATIC_ASSERT()