diff options
Diffstat (limited to 'include/my_global.h')
-rw-r--r-- | include/my_global.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/my_global.h b/include/my_global.h index 7277bdcd715..40e70c521eb 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -51,6 +51,22 @@ #endif #endif /* _WIN32... */ +/* The macros below are borrowed from include/linux/compiler.h in the + Linux kernel. Use them to indicate the likelyhood of the truthfulness + of a condition. This serves two purposes - newer versions of gcc will be + able to optimize for branch predication, which could yield siginficant + performance gains in frequently executed sections of the code, and the + other reason to use them is for documentation +*/ + +#if __GNUC__ == 2 && __GNUC_MINOR__ < 96 +#define __builtin_expect(x, expected_value) (x) +#endif + +#define likely(x) __builtin_expect((x),1) +#define unlikely(x) __builtin_expect((x),0) + + /* Fix problem with S_ISLNK() on Linux */ #if defined(HAVE_LINUXTHREADS) #undef _GNU_SOURCE |