From 54a201552db7477aa04a625fd5bc938ad8c97800 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Mon, 28 Feb 2011 18:12:01 -0500 Subject: New DMNSN_HOT macro. --- libdimension/compiler.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'libdimension/compiler.h') diff --git a/libdimension/compiler.h b/libdimension/compiler.h index 0500762..fb6c80f 100644 --- a/libdimension/compiler.h +++ b/libdimension/compiler.h @@ -29,16 +29,22 @@ #include #ifdef DMNSN_PROFILE -#define dmnsn_likely(test) \ - dmnsn_expect(!!(test), true, DMNSN_FUNC, __FILE__, __LINE__) -#define dmnsn_unlikely(test) \ - dmnsn_expect(!!(test), false, DMNSN_FUNC, __FILE__, __LINE__) + #define dmnsn_likely(test) \ + dmnsn_expect(!!(test), true, DMNSN_FUNC, __FILE__, __LINE__) + #define dmnsn_unlikely(test) \ + dmnsn_expect(!!(test), false, DMNSN_FUNC, __FILE__, __LINE__) #elif defined(__GNUC__) -#define dmnsn_likely(test) __builtin_expect(!!(test), true) -#define dmnsn_unlikely(test) __builtin_expect(!!(test), false) + #define dmnsn_likely(test) __builtin_expect(!!(test), true) + #define dmnsn_unlikely(test) __builtin_expect(!!(test), false) #else -#define dmnsn_likely(test) (test) -#define dmnsn_unlikely(test) (test) + #define dmnsn_likely(test) (test) + #define dmnsn_unlikely(test) (test) +#endif + +#ifdef __GNUC__ + #define DMNSN_HOT __attribute__((hot)) +#else + #define DMNSN_HOT #endif #endif /* DIMENSION_IMPL_COMPILER_H */ -- cgit v1.2.3