From b9c642d81d0bacf6ed4bb1211b31324453742a40 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Thu, 10 Oct 2024 10:21:33 -0700 Subject: [PATCH] Return tagged pointer from getChildAndMaxVersion --- ConflictSet.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ConflictSet.cpp b/ConflictSet.cpp index 67b914e..058838a 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -1137,7 +1137,7 @@ Node *getChild(Node *self, uint8_t index) { } struct ChildAndMaxVersion { - Node *child; + TaggedNodePointer child; InternalVersionT maxVersion; }; @@ -1980,7 +1980,8 @@ bool checkPointRead(Node *n, const std::span key, goto downLeftSpine; } - auto [child, maxV] = getChildAndMaxVersion(n, remaining[0]); + auto [c, maxV] = getChildAndMaxVersion(n, remaining[0]); + Node *child = c; if (child == nullptr) { auto c = getChildGeq(n, remaining[0]); if (c != nullptr) { @@ -2050,7 +2051,8 @@ bool checkPrefixRead(Node *n, const std::span key, return maxVersion(n) <= readVersion; } - auto [child, maxV] = getChildAndMaxVersion(n, remaining[0]); + auto [c, maxV] = getChildAndMaxVersion(n, remaining[0]); + Node *child = c; if (child == nullptr) { auto c = getChildGeq(n, remaining[0]); if (c != nullptr) { @@ -2649,7 +2651,8 @@ bool checkRangeLeftSide(Node *n, std::span key, int prefixLen, } } - auto [child, maxV] = getChildAndMaxVersion(n, remaining[0]); + auto [c, maxV] = getChildAndMaxVersion(n, remaining[0]); + Node *child = c; if (child == nullptr) { auto c = getChildGeq(n, remaining[0]); if (c != nullptr) { @@ -2837,7 +2840,8 @@ bool checkRangeRead(Node *n, std::span begin, if (remaining.size() == 0) { break; } - auto [child, v] = getChildAndMaxVersion(n, remaining[0]); + auto [c, v] = getChildAndMaxVersion(n, remaining[0]); + Node *child = c; if (child == nullptr) { break; }