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. // encounter invalidated nodes.
for (auto *iter = firstRangeWrite; iter != nullptr; for (auto *iter = firstRangeWrite; iter != nullptr;
iter = iter->nextRangeWrite) { iter = iter->nextRangeWrite) {
if (iter->endInsertionPoint != nullptr) { assert(iter->endInsertionPoint != nullptr);
while (iter->insertionPoint->releaseDeferred) { while (iter->insertionPoint->releaseDeferred) {
iter->insertionPoint = iter->insertionPoint->forwardTo; iter->insertionPoint = iter->insertionPoint->forwardTo;
}
while (iter->endInsertionPoint->releaseDeferred) {
iter->endInsertionPoint = iter->endInsertionPoint->forwardTo;
}
eraseInRange(iter->insertionPoint, iter->endInsertionPoint,
&writeContext);
} }
while (iter->endInsertionPoint->releaseDeferred) {
iter->endInsertionPoint = iter->endInsertionPoint->forwardTo;
}
eraseInRange(iter->insertionPoint, iter->endInsertionPoint,
&writeContext);
} }
if (count > kStackResultMax) [[unlikely]] { if (count > kStackResultMax) [[unlikely]] {