scanner-utils: add some likely/unlikely annotations
authorRan Benita <ran234@gmail.com>
Sat, 8 Feb 2014 10:31:21 +0000 (12:31 +0200)
committerRan Benita <ran234@gmail.com>
Sat, 8 Feb 2014 10:42:17 +0000 (12:42 +0200)
Signed-off-by: Ran Benita <ran234@gmail.com>
src/xkbcomp/scanner-utils.h

index 7e21b00..13de976 100644 (file)
@@ -72,7 +72,9 @@ scanner_init(struct scanner *s, struct xkb_context *ctx,
 static inline char
 peek(struct scanner *s)
 {
-    return s->pos < s->len ? s->s[s->pos] : '\0';
+    if (unlikely(s->pos >= s->len))
+        return '\0';
+    return s->s[s->pos];
 }
 
 static inline bool
@@ -90,9 +92,9 @@ eol(struct scanner *s)
 static inline char
 next(struct scanner *s)
 {
-    if (eof(s))
+    if (unlikely(eof(s)))
         return '\0';
-    if (eol(s)) {
+    if (unlikely(eol(s))) {
         s->line++;
         s->column = 1;
     }
@@ -105,7 +107,7 @@ next(struct scanner *s)
 static inline bool
 chr(struct scanner *s, char ch)
 {
-    if (peek(s) != ch)
+    if (likely(peek(s) != ch))
         return false;
     s->pos++; s->column++;
     return true;