forked from weaselab/conflict-set
Remove unnecessary branch for interleaved range writes
This commit is contained in:
+8
-9
@@ -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]] {
|
||||
|
||||
Reference in New Issue
Block a user