diff options
author | unknown <tulin@dl145b.mysql.com> | 2005-06-21 08:49:21 +0200 |
---|---|---|
committer | unknown <tulin@dl145b.mysql.com> | 2005-06-21 08:49:21 +0200 |
commit | cee82bca2970bfe36e17a84cad27a238900f7f81 (patch) | |
tree | 021f00d0d8d4e312b7cc20166e879b5052187631 /storage/innobase/include/univ.i | |
parent | ca2e8ed7f372351fbf290445b2f5afd4840d7b45 (diff) | |
parent | bf6a86afcafc559aed642d10da692c94584d258b (diff) | |
download | mariadb-git-cee82bca2970bfe36e17a84cad27a238900f7f81.tar.gz |
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/mysqld.cc:
Auto merged
storage/innobase/btr/btr0btr.c:
Auto merged
storage/innobase/btr/btr0cur.c:
Auto merged
storage/innobase/btr/btr0pcur.c:
Auto merged
storage/innobase/btr/btr0sea.c:
Auto merged
storage/innobase/buf/buf0buf.c:
Auto merged
storage/innobase/buf/buf0flu.c:
Auto merged
storage/innobase/buf/buf0lru.c:
Auto merged
storage/innobase/buf/buf0rea.c:
Auto merged
storage/innobase/data/data0data.c:
Auto merged
storage/innobase/data/data0type.c:
Auto merged
storage/innobase/dict/dict0boot.c:
Auto merged
storage/innobase/dict/dict0crea.c:
Auto merged
storage/innobase/dict/dict0dict.c:
Auto merged
storage/innobase/dict/dict0mem.c:
Auto merged
storage/innobase/fil/fil0fil.c:
Auto merged
storage/innobase/fsp/fsp0fsp.c:
Auto merged
storage/innobase/ibuf/ibuf0ibuf.c:
Auto merged
storage/innobase/include/btr0btr.h:
Auto merged
storage/innobase/include/btr0btr.ic:
Auto merged
storage/innobase/include/btr0cur.h:
Auto merged
storage/innobase/include/btr0cur.ic:
Auto merged
storage/innobase/include/buf0buf.h:
Auto merged
storage/innobase/include/buf0buf.ic:
Auto merged
storage/innobase/include/buf0lru.h:
Auto merged
storage/innobase/include/data0type.h:
Auto merged
storage/innobase/include/data0type.ic:
Auto merged
storage/innobase/include/dyn0dyn.h:
Auto merged
storage/innobase/include/dyn0dyn.ic:
Auto merged
storage/innobase/include/lock0lock.h:
Auto merged
storage/innobase/include/log0log.h:
Auto merged
storage/innobase/include/mach0data.h:
Auto merged
storage/innobase/include/mach0data.ic:
Auto merged
storage/innobase/include/mem0mem.ic:
Auto merged
storage/innobase/include/mtr0log.h:
Auto merged
storage/innobase/include/mtr0mtr.h:
Auto merged
storage/innobase/include/os0file.h:
Auto merged
storage/innobase/include/page0cur.h:
Auto merged
storage/innobase/include/page0cur.ic:
Auto merged
storage/innobase/include/page0page.h:
Auto merged
storage/innobase/include/page0page.ic:
Auto merged
storage/innobase/include/read0read.ic:
Auto merged
storage/innobase/include/rem0rec.h:
Auto merged
storage/innobase/include/rem0rec.ic:
Auto merged
storage/innobase/include/row0mysql.h:
Auto merged
storage/innobase/include/row0sel.ic:
Auto merged
storage/innobase/include/row0upd.ic:
Auto merged
storage/innobase/include/sync0rw.ic:
Auto merged
storage/innobase/include/trx0rseg.ic:
Auto merged
storage/innobase/include/trx0trx.h:
Auto merged
storage/innobase/include/univ.i:
Auto merged
storage/innobase/include/ut0dbg.h:
Auto merged
storage/innobase/include/ut0rnd.ic:
Auto merged
storage/innobase/lock/lock0lock.c:
Auto merged
storage/innobase/log/log0log.c:
Auto merged
storage/innobase/log/log0recv.c:
Auto merged
storage/innobase/mtr/mtr0log.c:
Auto merged
storage/innobase/mtr/mtr0mtr.c:
Auto merged
storage/innobase/os/os0file.c:
Auto merged
storage/innobase/page/page0cur.c:
Auto merged
storage/innobase/page/page0page.c:
Auto merged
storage/innobase/rem/rem0cmp.c:
Auto merged
storage/innobase/rem/rem0rec.c:
Auto merged
storage/innobase/row/row0ins.c:
Auto merged
storage/innobase/row/row0mysql.c:
Auto merged
storage/innobase/row/row0purge.c:
Auto merged
storage/innobase/row/row0row.c:
Auto merged
storage/innobase/row/row0sel.c:
Auto merged
storage/innobase/row/row0undo.c:
Auto merged
storage/innobase/row/row0upd.c:
Auto merged
storage/innobase/row/row0vers.c:
Auto merged
storage/innobase/srv/srv0start.c:
Auto merged
storage/innobase/sync/sync0sync.c:
Auto merged
storage/innobase/trx/trx0rec.c:
Auto merged
storage/innobase/trx/trx0roll.c:
Auto merged
storage/innobase/trx/trx0trx.c:
Auto merged
storage/innobase/ut/ut0dbg.c:
Auto merged
Diffstat (limited to 'storage/innobase/include/univ.i')
-rw-r--r-- | storage/innobase/include/univ.i | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/storage/innobase/include/univ.i b/storage/innobase/include/univ.i index 8158c198e21..132ac9e18c5 100644 --- a/storage/innobase/include/univ.i +++ b/storage/innobase/include/univ.i @@ -181,7 +181,7 @@ management to ensure correct alignment for doubles etc. */ /* Another basic type we use is unsigned long integer which should be equal to the word size of the machine, that is on a 32-bit platform 32 bits, and on a 64-bit platform 64 bits. We also give the printf format for the type as a -macro PRULINT. */ +macro ULINTPF. */ #ifdef _WIN64 typedef unsigned __int64 ulint; @@ -243,6 +243,30 @@ contains the sum of the following flag and the locally stored len. */ #define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE) +/* Some macros to improve branch prediction and reduce cache misses */ +#if defined(__GNUC__) && (__GNUC__ > 2) +/* Tell the compiler that 'expr' probably evaluates to 'constant'. */ +# define UNIV_EXPECT(expr,constant) __builtin_expect(expr, constant) +/* Tell the compiler that a pointer is likely to be NULL */ +# define UNIV_LIKELY_NULL(ptr) __builtin_expect((ulint) ptr, 0) +/* Minimize cache-miss latency by moving data at addr into a cache before +it is read. */ +# define UNIV_PREFETCH_R(addr) __builtin_prefetch(addr, 0, 3) +/* Minimize cache-miss latency by moving data at addr into a cache before +it is read or written. */ +# define UNIV_PREFETCH_RW(addr) __builtin_prefetch(addr, 1, 3) +#else +/* Dummy versions of the macros */ +# define UNIV_EXPECT(expr,value) (expr) +# define UNIV_LIKELY_NULL(expr) (expr) +# define UNIV_PREFETCH_R(addr) ((void) 0) +# define UNIV_PREFETCH_RW(addr) ((void) 0) +#endif +/* Tell the compiler that cond is likely to hold */ +#define UNIV_LIKELY(cond) UNIV_EXPECT(cond, TRUE) +/* Tell the compiler that cond is unlikely to hold */ +#define UNIV_UNLIKELY(cond) UNIV_EXPECT(cond, FALSE) + #include <stdio.h> #include "ut0dbg.h" #include "ut0ut.h" |