From 92df6720be589d79d16f0128876dfe0f20ff72a7 Mon Sep 17 00:00:00 2001
From: marko <Unknown>
Date: Wed, 31 Oct 2007 09:00:08 +0000
Subject: [PATCH] branches/zip: Improve Valgrind instrumentation.

buf_buddy_relocate(): Allow the source block to contain uninitialized data.

buf0buddy.c: Replace the remaining VALGRIND_CHECK_ macros with the wrappers
defined in univ.i.
---
 buf/buf0buddy.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/buf/buf0buddy.c b/buf/buf0buddy.c
index 2b017cf0cdf..30b4d94b0fa 100644
--- a/buf/buf0buddy.c
+++ b/buf/buf0buddy.c
@@ -528,7 +528,7 @@ buf_buddy_relocate(
 	ut_ad(!mutex_own(&buf_pool->zip_mutex));
 	ut_ad(!ut_align_offset(src, size));
 	ut_ad(!ut_align_offset(dst, size));
-	UNIV_MEM_ASSERT_RW(src, size);
+	UNIV_MEM_ASSERT_W(src, size);
 	UNIV_MEM_ASSERT_W(dst, size);
 
 	/* We assume that all memory from buf_buddy_alloc()
@@ -571,11 +571,9 @@ buf_buddy_relocate(
 			return(FALSE);
 		}
 
-#ifdef UNIV_VALGRIND_DEBUG
 		/* The block must have been allocated, but it may
 		contain uninitialized data. */
-		VALGRIND_CHECK_MEM_IS_ADDRESSABLE(src, size);
-#endif /* UNIV_VALGRIND_DEBUG */
+		UNIV_MEM_ASSERT_W(src, size);
 
 		mutex = buf_page_get_mutex(bpage);
 
@@ -596,9 +594,7 @@ buf_buddy_relocate(
 		mutex_exit(mutex);
 	} else if (i == buf_buddy_get_slot(sizeof(buf_page_t))) {
 		/* This must be a buf_page_t object. */
-#ifdef UNIV_VALGRIND_DEBUG
-		VALGRIND_CHECK_MEM_IS_DEFINED(src, size);
-#endif /* UNIV_VALGRIND_DEBUG */
+		UNIV_MEM_ASSERT_RW(src, size);
 		if (buf_buddy_relocate_block(src, dst)) {
 
 			goto success;
@@ -628,10 +624,7 @@ buf_buddy_free_low(
 
 	buf_buddy_used[i]--;
 recombine:
-#ifdef UNIV_DEBUG_VALGRIND
-	VALGRIND_CHECK_MEM_IS_ADDRESSABLE(buf, BUF_BUDDY_LOW << i);
-	UNIV_MEM_INVALID(buf, BUF_BUDDY_LOW << i);
-#endif /* UNIV_DEBUG_VALGRIND */
+	UNIV_MEM_ASSERT_AND_ALLOC(buf, BUF_BUDDY_LOW << i);
 	ut_d(((buf_page_t*) buf)->state = BUF_BLOCK_ZIP_FREE);
 
 	if (i == BUF_BUDDY_SIZES) {
-- 
2.30.9