mariadb/storage/innobase/buf
Marko Mäkelä a68d1352b6 MDEV-11349 (2/2) Fix some bogus-looking Valgrind warnings
buf_block_init(): Initialize buf_page_t::flush_type.
For some reason, Valgrind 3.12.0 would seem to flag some
bits in adjacent bitfields as uninitialized, even though only
the two bits of flush_type were left uninitialized. Initialize
the field to get rid of many warnings.

buf_page_init_low(): Initialize buf_page_t::old.
For some reason, Valgrind 3.12.0 would seem to flag all 32
bits uninitialized when buf_page_init_for_read() invokes
buf_LRU_add_block(bpage, TRUE). This would trigger bogus warnings
for buf_page_t::freed_page_clock being uninitialized.
(The V-bits would later claim that only "old" is initialized
in the 32-bit word.) Perhaps recent compilers
(GCC 6.2.1 and clang 4.0.0) generate more optimized x86_64 code
for bitfield operations, confusing Valgrind?

mach_write_to_1(), mach_write_to_2(), mach_write_to_3():
Rewrite the assertions that ensure that the most significant
bits are zero. Apparently, clang 4.0.0 would optimize expressions
of the form ((n | 0xFF) <= 0x100) to (n <= 0x100). The redundant
0xFF was added in the first place in order to suppress a
Valgrind warning. (Valgrind would warn about comparing uninitialized
values even in the case when the uninitialized bits do not affect
the result of the comparison.)
2016-11-25 12:34:02 +02:00
..
buf0buddy.cc 5.6.31 2016-06-21 14:21:03 +02:00
buf0buf.cc MDEV-11349 (2/2) Fix some bogus-looking Valgrind warnings 2016-11-25 12:34:02 +02:00
buf0checksum.cc Merge tag 'mariadb-10.0.20' into 10.1 2015-06-27 20:35:26 +02:00
buf0dblwr.cc MDEV-9242: Innodb reports Assertion failure in file buf0dblwr.cc line 579 2016-04-29 13:47:49 +03:00
buf0dump.cc Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +02:00
buf0flu.cc Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +02:00
buf0lru.cc Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +02:00
buf0mtflu.cc MDEV-7424: InnoDB: Assertion failure in thread 139901753345792 2015-01-14 19:24:37 +02:00
buf0rea.cc MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted table exists and encryption service is not available 2015-09-04 20:19:45 +03:00