List:Commits« Previous MessageNext Message »
From:marko.makela Date:May 19 2010 9:38am
Subject:bzr push into mysql-trunk-innodb branch (marko.makela:3104 to 3106)
View as plain text  
 3106 Marko Mäkelä	2010-05-19
      Merge a change from mysql-5.1-innodb:
      
      ------------------------------------------------------------
      revno: 3472
      revision-id: marko.makela@strippedyf1g7v6pfysidt
      parent: marko.makela@stripped0519080152-h3555oqmu3wo95so
      committer: Marko Mäkelä <marko.makela@stripped>
      branch nick: 5.1-innodb
      timestamp: Wed 2010-05-19 11:07:43 +0300
      message:
        Make UNIV_DEBUG Valgrind friendly. Use | instead of +,
        and mask out the dont-care bits in debug assertions.

    modified:
      storage/innobase/include/mach0data.ic
 3105 Marko Mäkelä	2010-05-19
      Merge a change from mysql-5.1-innodb:
      
      ------------------------------------------------------------
      revno: 3471
      revision-id: marko.makela@strippedm-20100519080152-h3555oqmu3wo95so
      parent: marko.makela@stripped
      committer: Marko Mäkelä <marko.makela@stripped>
      branch nick: 5.1-innodb
      timestamp: Wed 2010-05-19 11:01:52 +0300
      message:
        Silence some more bogus Valgrind warnings on non-32-bit systems. (Bug #53307)

    modified:
      storage/innobase/buf/buf0buddy.c
      storage/innobase/buf/buf0lru.c
      storage/innobase/page/page0zip.c
 3104 Inaam Rana	2010-05-18
      Initialize block->is_hashed to avoid valgrind warning.

    modified:
      storage/innobase/buf/buf0buf.c
=== modified file 'storage/innobase/buf/buf0buddy.c'
--- a/storage/innobase/buf/buf0buddy.c	revid:inaam.rana@stripped5302-ovf5fqn6a0u212rc
+++ b/storage/innobase/buf/buf0buddy.c	revid:marko.makela@strippedn6fkhtst
@@ -502,7 +502,12 @@ success:
 		mutex_exit(mutex);
 	} else if (i == buf_buddy_get_slot(sizeof(buf_page_t))) {
 		/* This must be a buf_page_t object. */
+#if UNIV_WORD_SIZE == 4
+		/* On 32-bit systems, there is no padding in
+		buf_page_t.  On other systems, Valgrind could complain
+		about uninitialized pad bytes. */
 		UNIV_MEM_ASSERT_RW(src, size);
+#endif
 		if (buf_buddy_relocate_block(src, dst)) {
 
 			goto success;

=== modified file 'storage/innobase/buf/buf0lru.c'
--- a/storage/innobase/buf/buf0lru.c	revid:inaam.rana@stripped-ovf5fqn6a0u212rc
+++ b/storage/innobase/buf/buf0lru.c	revid:marko.makela@strippedst
@@ -1578,8 +1578,13 @@ alloc:
 
 				ut_ad(prev_b->in_LRU_list);
 				ut_ad(buf_page_in_file(prev_b));
+#if UNIV_WORD_SIZE == 4
+				/* On 32-bit systems, there is no
+				padding in buf_page_t.  On other
+				systems, Valgrind could complain about
+				uninitialized pad bytes. */
 				UNIV_MEM_ASSERT_RW(prev_b, sizeof *prev_b);
-
+#endif
 				UT_LIST_INSERT_AFTER(LRU, buf_pool->LRU,
 						     prev_b, b);
 

=== modified file 'storage/innobase/include/mach0data.ic'
--- a/storage/innobase/include/mach0data.ic	revid:inaam.rana@strippeda0u212rc
+++ b/storage/innobase/include/mach0data.ic	revid:marko.makela@stripped
@@ -36,7 +36,7 @@ mach_write_to_1(
 	ulint	n)	/*!< in: ulint integer to be stored, >= 0, < 256 */
 {
 	ut_ad(b);
-	ut_ad(n <= 0xFFUL);
+	ut_ad((n | 0xFFUL) <= 0xFFUL);
 
 	b[0] = (byte)n;
 }
@@ -65,7 +65,7 @@ mach_write_to_2(
 	ulint	n)	/*!< in: ulint integer to be stored */
 {
 	ut_ad(b);
-	ut_ad(n <= 0xFFFFUL);
+	ut_ad((n | 0xFFFFUL) <= 0xFFFFUL);
 
 	b[0] = (byte)(n >> 8);
 	b[1] = (byte)(n);
@@ -81,10 +81,7 @@ mach_read_from_2(
 /*=============*/
 	const byte*	b)	/*!< in: pointer to 2 bytes */
 {
-	ut_ad(b);
-	return( ((ulint)(b[0]) << 8)
-		+ (ulint)(b[1])
-		);
+	return(((ulint)(b[0]) << 8) | (ulint)(b[1]));
 }
 
 /********************************************************//**
@@ -129,7 +126,7 @@ mach_write_to_3(
 	ulint	n)	/*!< in: ulint integer to be stored */
 {
 	ut_ad(b);
-	ut_ad(n <= 0xFFFFFFUL);
+	ut_ad((n | 0xFFFFFFUL) <= 0xFFFFFFUL);
 
 	b[0] = (byte)(n >> 16);
 	b[1] = (byte)(n >> 8);
@@ -148,8 +145,8 @@ mach_read_from_3(
 {
 	ut_ad(b);
 	return( ((ulint)(b[0]) << 16)
-		+ ((ulint)(b[1]) << 8)
-		+ (ulint)(b[2])
+		| ((ulint)(b[1]) << 8)
+		| (ulint)(b[2])
 		);
 }
 
@@ -183,9 +180,9 @@ mach_read_from_4(
 {
 	ut_ad(b);
 	return( ((ulint)(b[0]) << 24)
-		+ ((ulint)(b[1]) << 16)
-		+ ((ulint)(b[2]) << 8)
-		+ (ulint)(b[3])
+		| ((ulint)(b[1]) << 16)
+		| ((ulint)(b[2]) << 8)
+		| (ulint)(b[3])
 		);
 }
 
@@ -721,7 +718,7 @@ mach_read_from_2_little_endian(
 /*===========================*/
 	const byte*	buf)		/*!< in: from where to read */
 {
-	return((ulint)(*buf) + ((ulint)(*(buf + 1))) * 256);
+	return((ulint)(buf[0]) | ((ulint)(buf[1]) << 8));
 }
 
 /*********************************************************//**

=== modified file 'storage/innobase/page/page0zip.c'
--- a/storage/innobase/page/page0zip.c	revid:inaam.rana@oracle.com-20100518165302-ovf5fqn6a0u212rc
+++ b/storage/innobase/page/page0zip.c	revid:marko.makela@stripped519093721-tjpgfv9in6fkhtst
@@ -3117,8 +3117,13 @@ page_zip_validate_low(
 	temp_page_zip in a debugger when running valgrind --db-attach. */
 	VALGRIND_GET_VBITS(page, temp_page, UNIV_PAGE_SIZE);
 	UNIV_MEM_ASSERT_RW(page, UNIV_PAGE_SIZE);
+# if UNIV_WORD_SIZE == 4
 	VALGRIND_GET_VBITS(page_zip, &temp_page_zip, sizeof temp_page_zip);
+	/* On 32-bit systems, there is no padding in page_zip_des_t.
+	On other systems, Valgrind could complain about uninitialized
+	pad bytes. */
 	UNIV_MEM_ASSERT_RW(page_zip, sizeof *page_zip);
+# endif
 	VALGRIND_GET_VBITS(page_zip->data, temp_page,
 			   page_zip_get_size(page_zip));
 	UNIV_MEM_ASSERT_RW(page_zip->data, page_zip_get_size(page_zip));

Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20100519093721-tjpgfv9in6fkhtst.bundle
Thread
bzr push into mysql-trunk-innodb branch (marko.makela:3104 to 3106) marko.makela19 May