From e0881fd85c55424025e64aa456b4bf8e18399e8b Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Tue, 11 Apr 2017 19:28:23 +0300 Subject: [PATCH] The nxt_expect() macro. --- src/nxt_clang.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/nxt_clang.h b/src/nxt_clang.h index 0ed55b64..6cb752dd 100644 --- a/src/nxt_clang.h +++ b/src/nxt_clang.h @@ -30,17 +30,25 @@ nxt_pragma_loop_disable_vectorization #if (NXT_HAVE_BUILTIN_EXPECT) +#define \ +nxt_expect(c, x) \ + __builtin_expect((long) (x), (c)) + #define \ nxt_fast_path(x) \ - __builtin_expect((long) (x), 1) + nxt_expect(1, x) #define \ nxt_slow_path(x) \ - __builtin_expect((long) (x), 0) + nxt_expect(0, x) #else +#define \ +nxt_expect(c, x) \ + (x) + #define \ nxt_fast_path(x) \ (x)