compiler.h   compiler.h 
skipping to change at line 26 skipping to change at line 26
* Permission to modify the code and to distribute modified code is granted , * Permission to modify the code and to distribute modified code is granted ,
* provided the above notices are retained, and a notice that the code was * provided the above notices are retained, and a notice that the code was
* modified is included with the above copyright notice. * modified is included with the above copyright notice.
*/ */
#include <stddef.h> /* for offsetof */ #include <stddef.h> /* for offsetof */
#define likely(x) __builtin_expect(!!(x), 1) #define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0) #define unlikely(x) __builtin_expect(!!(x), 0)
#define barrier() asm volatile("" : : : "memory"); #define barrier() asm volatile("" : : : "memory")
/* /*
* Instruct the compiler to perform only a single access to a variable * Instruct the compiler to perform only a single access to a variable
* (prohibits merging and refetching). The compiler is also forbidden to re order * (prohibits merging and refetching). The compiler is also forbidden to re order
* successive instances of ACCESS_ONCE(), but only when the compiler is awa re of * successive instances of ACCESS_ONCE(), but only when the compiler is awa re of
* particular ordering. Compiler ordering can be ensured, for example, by * particular ordering. Compiler ordering can be ensured, for example, by
* putting two ACCESS_ONCE() in separate C statements. * putting two ACCESS_ONCE() in separate C statements.
* *
* This macro does absolutely -nothing- to prevent the CPU from reordering, * This macro does absolutely -nothing- to prevent the CPU from reordering,
* merging, or refetching absolutely anything at any time. Its main intend ed * merging, or refetching absolutely anything at any time. Its main intend ed
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/