Remove unnecessary branch for interleaved range writes

This commit is contained in:
2024-12-11 21:53:44 -08:00
parent 7166811387
commit 2642d453dc
+8 -9
View File
@@ -4984,16 +4984,15 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
// encounter invalidated nodes.
for (auto *iter = firstRangeWrite; iter != nullptr;
iter = iter->nextRangeWrite) {
if (iter->endInsertionPoint != nullptr) {
while (iter->insertionPoint->releaseDeferred) {
iter->insertionPoint = iter->insertionPoint->forwardTo;
}
while (iter->endInsertionPoint->releaseDeferred) {
iter->endInsertionPoint = iter->endInsertionPoint->forwardTo;
}
eraseInRange(iter->insertionPoint, iter->endInsertionPoint,
&writeContext);
assert(iter->endInsertionPoint != nullptr);
while (iter->insertionPoint->releaseDeferred) {
iter->insertionPoint = iter->insertionPoint->forwardTo;
}
while (iter->endInsertionPoint->releaseDeferred) {
iter->endInsertionPoint = iter->endInsertionPoint->forwardTo;
}
eraseInRange(iter->insertionPoint, iter->endInsertionPoint,
&writeContext);
}
if (count > kStackResultMax) [[unlikely]] {