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.
|
// 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]] {
|
||||||
|
|||||||
Reference in New Issue
Block a user