From 3f4d3b685ac9cefecfaac6ca3a0114551efa1229 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Wed, 20 Nov 2024 13:36:30 -0800 Subject: [PATCH] More valgrind annotations --- ConflictSet.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ConflictSet.cpp b/ConflictSet.cpp index de1be22..d993464 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -1501,6 +1501,8 @@ void consumePartialKeyFull(TaggedNodePointer &self, TrivialSpan &key, memmove(old->partialKey(), old->partialKey() + partialKeyIndex + 1, old->partialKeyLen - (partialKeyIndex + 1)); old->partialKeyLen -= partialKeyIndex + 1; + VALGRIND_MAKE_MEM_UNDEFINED(old->partialKey() + old->partialKeyLen, + partialKeyIndex + 1); // Maintain memory capacity invariant maybeDecreaseCapacity(old, writeContext, impl); @@ -2061,6 +2063,12 @@ Node *erase(Node *self, WriteContext *writeContext, ConflictSet::Impl *impl, parent3->children[i] = parent3->children[i + 1]; parent3->childMaxVersion[i] = parent3->childMaxVersion[i + 1]; } + VALGRIND_MAKE_MEM_UNDEFINED(parent3->index + parent3->numChildren, + sizeof(parent3->index[0])); + VALGRIND_MAKE_MEM_UNDEFINED(parent3->children + parent3->numChildren, + sizeof(parent3->children[0])); + VALGRIND_MAKE_MEM_UNDEFINED(parent3->childMaxVersion + parent3->numChildren, + sizeof(parent3->childMaxVersion[0])); if (needsDownsize(parent3)) { downsize(parent3, writeContext, impl); @@ -2076,6 +2084,13 @@ Node *erase(Node *self, WriteContext *writeContext, ConflictSet::Impl *impl, parent16->children[i] = parent16->children[i + 1]; parent16->childMaxVersion[i] = parent16->childMaxVersion[i + 1]; } + VALGRIND_MAKE_MEM_UNDEFINED(parent16->index + parent16->numChildren, + sizeof(parent16->index[0])); + VALGRIND_MAKE_MEM_UNDEFINED(parent16->children + parent16->numChildren, + sizeof(parent16->children[0])); + VALGRIND_MAKE_MEM_UNDEFINED(parent16->childMaxVersion + + parent16->numChildren, + sizeof(parent16->childMaxVersion[0])); if (needsDownsize(parent16)) { downsize(parent16, writeContext, impl); @@ -2104,6 +2119,8 @@ Node *erase(Node *self, WriteContext *writeContext, ConflictSet::Impl *impl, parent48->reverseIndex[toRemoveChildrenIndex] = parentIndex; } parent48->childMaxVersion[lastChildrenIndex] = writeContext->zero; + VALGRIND_MAKE_MEM_UNDEFINED(parent48->children + lastChildrenIndex, + sizeof(parent48->children[0])); if (needsDownsize(parent48)) { downsize(parent48, writeContext, impl);