Remove dead code

This commit is contained in:
2024-11-01 13:48:32 -07:00
parent 681a961289
commit 821179b8de

View File

@@ -1213,135 +1213,6 @@ TaggedNodePointer getChild(Node *self, uint8_t index) {
}
}
TaggedNodePointer *getChildUpdatingMaxVersion(Node0 *, TrivialSpan &,
InternalVersionT) {
return nullptr;
}
TaggedNodePointer *getChildUpdatingMaxVersion(Node3 *self,
TrivialSpan &remaining,
InternalVersionT maxVersion) {
assert(remaining.size() > 0);
int index = remaining.front();
auto key = remaining.subspan(1, remaining.size() - 1);
int i = getNodeIndex(self, index);
if (i < 0) {
return nullptr;
}
Node *c = self->children[i];
if (c->partialKeyLen > 0) {
int commonLen = std::min<int>(c->partialKeyLen, key.size());
int partialKeyIndex =
longestCommonPrefix(c->partialKey(), key.data(), commonLen);
if (partialKeyIndex < c->partialKeyLen) {
return nullptr;
}
}
remaining = key.subspan(c->partialKeyLen, key.size() - c->partialKeyLen);
self->childMaxVersion[i] = maxVersion;
return &self->children[i];
}
TaggedNodePointer *getChildUpdatingMaxVersion(Node16 *self,
TrivialSpan &remaining,
InternalVersionT maxVersion) {
assert(remaining.size() > 0);
int index = remaining.front();
auto key = remaining.subspan(1, remaining.size() - 1);
int i = getNodeIndex(self, index);
if (i < 0) {
return nullptr;
}
Node *c = self->children[i];
if (c->partialKeyLen > 0) {
int commonLen = std::min<int>(c->partialKeyLen, key.size());
int partialKeyIndex =
longestCommonPrefix(c->partialKey(), key.data(), commonLen);
if (partialKeyIndex < c->partialKeyLen) {
return nullptr;
}
}
remaining = key.subspan(c->partialKeyLen, key.size() - c->partialKeyLen);
self->childMaxVersion[i] = maxVersion;
return &self->children[i];
}
TaggedNodePointer *getChildUpdatingMaxVersion(Node48 *self,
TrivialSpan &remaining,
InternalVersionT maxVersion) {
assert(remaining.size() > 0);
int index = remaining.front();
auto key = remaining.subspan(1, remaining.size() - 1);
int i = self->index[index];
if (i < 0) {
return nullptr;
}
Node *c = self->children[i];
if (c->partialKeyLen > 0) {
int commonLen = std::min<int>(c->partialKeyLen, key.size());
int partialKeyIndex =
longestCommonPrefix(c->partialKey(), key.data(), commonLen);
if (partialKeyIndex < c->partialKeyLen) {
return nullptr;
}
}
remaining = key.subspan(c->partialKeyLen, key.size() - c->partialKeyLen);
self->childMaxVersion[i] = maxVersion;
self->maxOfMax[i >> Node48::kMaxOfMaxShift] =
std::max(self->maxOfMax[i >> Node48::kMaxOfMaxShift], maxVersion);
return &self->children[i];
}
TaggedNodePointer *getChildUpdatingMaxVersion(Node256 *self,
TrivialSpan &remaining,
InternalVersionT maxVersion) {
assert(remaining.size() > 0);
int index = remaining.front();
auto key = remaining.subspan(1, remaining.size() - 1);
auto &n = self->children[index];
if (n == nullptr) {
return nullptr;
}
Node *c = n;
if (c->partialKeyLen > 0) {
int commonLen = std::min<int>(c->partialKeyLen, key.size());
int partialKeyIndex =
longestCommonPrefix(c->partialKey(), key.data(), commonLen);
if (partialKeyIndex < c->partialKeyLen) {
return nullptr;
}
}
remaining = key.subspan(c->partialKeyLen, key.size() - c->partialKeyLen);
self->childMaxVersion[index] = maxVersion;
self->maxOfMax[index >> Node256::kMaxOfMaxShift] =
std::max(self->maxOfMax[index >> Node256::kMaxOfMaxShift], maxVersion);
return &n;
}
// Precondition: remaining.size() > 0
// If a child of self lies along the search path of remaining, return a pointer
// to that child, update max version, and consume the matching prefix bytes from
// remaining. Otherwise return nullptr without changing the tree at all.
TaggedNodePointer *getChildUpdatingMaxVersion(Node *self,
TrivialSpan &remaining,
InternalVersionT maxVersion) {
switch (self->getType()) {
case Type_Node0:
return getChildUpdatingMaxVersion(static_cast<Node0 *>(self), remaining,
maxVersion);
case Type_Node3:
return getChildUpdatingMaxVersion(static_cast<Node3 *>(self), remaining,
maxVersion);
case Type_Node16:
return getChildUpdatingMaxVersion(static_cast<Node16 *>(self), remaining,
maxVersion);
case Type_Node48:
return getChildUpdatingMaxVersion(static_cast<Node48 *>(self), remaining,
maxVersion);
case Type_Node256:
return getChildUpdatingMaxVersion(static_cast<Node256 *>(self), remaining,
maxVersion);
default: // GCOVR_EXCL_LINE
__builtin_unreachable(); // GCOVR_EXCL_LINE
}
}
struct ChildAndMaxVersion {
TaggedNodePointer child;
InternalVersionT maxVersion;