Remove dead code
This commit is contained in:
129
ConflictSet.cpp
129
ConflictSet.cpp
@@ -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 {
|
struct ChildAndMaxVersion {
|
||||||
TaggedNodePointer child;
|
TaggedNodePointer child;
|
||||||
InternalVersionT maxVersion;
|
InternalVersionT maxVersion;
|
||||||
|
Reference in New Issue
Block a user