summaryrefslogtreecommitdiffstats
path: root/lib/replace/replace.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-09-17 15:24:20 -0700
committerAndrew Tridgell <tridge@samba.org>2009-09-17 15:24:20 -0700
commit39971fff27f71b514308d10d7a2d8c3fb58c2420 (patch)
tree101f2adac9ef41af17579d22f6ddd56ada62ce5d /lib/replace/replace.h
parent23676b6e9e8aad0ac2aa78d04e65f637b4551527 (diff)
parente71d9728f52e969e07927c5b38fa062c6ef6d1eb (diff)
downloadsamba-39971fff27f71b514308d10d7a2d8c3fb58c2420.tar.gz
samba-39971fff27f71b514308d10d7a2d8c3fb58c2420.tar.xz
samba-39971fff27f71b514308d10d7a2d8c3fb58c2420.zip
Merge branch 'master' of /home/tridge/samba/git/combined
Diffstat (limited to 'lib/replace/replace.h')
-rw-r--r--lib/replace/replace.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/replace/replace.h b/lib/replace/replace.h
index 2db6aa1226..6424d10c0f 100644
--- a/lib/replace/replace.h
+++ b/lib/replace/replace.h
@@ -704,4 +704,23 @@ char *ufc_crypt(const char *key, const char *salt);
#endif
#endif
+/* these macros gain us a few percent of speed on gcc */
+#if (__GNUC__ >= 3)
+/* the strange !! is to ensure that __builtin_expect() takes either 0 or 1
+ as its first argument */
+#ifndef likely
+#define likely(x) __builtin_expect(!!(x), 1)
+#endif
+#ifndef unlikely
+#define unlikely(x) __builtin_expect(!!(x), 0)
+#endif
+#else
+#ifndef likely
+#define likely(x) (x)
+#endif
+#ifndef unlikely
+#define unlikely(x) (x)
+#endif
+#endif
+
#endif /* _LIBREPLACE_REPLACE_H */