Remove backtrack label from checkRangeRightSide

This commit is contained in:
2024-10-13 11:27:36 -07:00
parent 71b3c7fb7f
commit 978a7585b6

View File

@@ -2520,7 +2520,11 @@ bool checkRangeRightSide(Node *n, std::span<const uint8_t> key, int prefixLen,
if (n != commonPrefixNode && maxVersion(n) > readVersion) { if (n != commonPrefixNode && maxVersion(n) > readVersion) {
return false; return false;
} }
goto backtrack; n = nextSibling(n);
if (n == nullptr) {
return true;
}
goto downLeftSpine;
} }
} }
@@ -2543,7 +2547,11 @@ bool checkRangeRightSide(Node *n, std::span<const uint8_t> key, int prefixLen,
maxVersion(n) > readVersion) { maxVersion(n) > readVersion) {
return false; return false;
} }
goto backtrack; n = nextSibling(n);
if (n == nullptr) {
return true;
}
goto downLeftSpine;
} }
} }
if (commonLen == n->partialKeyLen) { if (commonLen == n->partialKeyLen) {
@@ -2569,19 +2577,6 @@ bool checkRangeRightSide(Node *n, std::span<const uint8_t> key, int prefixLen,
return false; return false;
} }
} }
backtrack:
for (;;) {
if (n->parent == nullptr) {
return true;
}
auto next = getChildGeq(n->parent, n->parentsIndex + 1);
if (next == nullptr) {
n = n->parent;
} else {
n = next;
goto downLeftSpine;
}
}
downLeftSpine: downLeftSpine:
for (; !n->entryPresent; n = getFirstChildExists(n)) { for (; !n->entryPresent; n = getFirstChildExists(n)) {
} }