Only search backward for materializing clear range
This commit is contained in:
@@ -1220,6 +1220,9 @@ VersionedMap::Iterator::operator*() const {
|
|||||||
|
|
||||||
void materializeMutations(VersionedMap::Iterator::Impl *impl,
|
void materializeMutations(VersionedMap::Iterator::Impl *impl,
|
||||||
const Entry *prev) {
|
const Entry *prev) {
|
||||||
|
const auto &entry = *impl->map->mm.base[impl->finger.backNode()].entry;
|
||||||
|
impl->mutationCount = 0;
|
||||||
|
if (entry.clearTo()) {
|
||||||
if (prev == nullptr) {
|
if (prev == nullptr) {
|
||||||
Finger copy;
|
Finger copy;
|
||||||
impl->finger.copyTo(copy);
|
impl->finger.copyTo(copy);
|
||||||
@@ -1231,9 +1234,6 @@ void materializeMutations(VersionedMap::Iterator::Impl *impl,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto &entry = *impl->map->mm.base[impl->finger.backNode()].entry;
|
|
||||||
impl->mutationCount = 0;
|
|
||||||
if (entry.clearTo()) {
|
|
||||||
impl->mutations[impl->mutationCount++] = {
|
impl->mutations[impl->mutationCount++] = {
|
||||||
prev->getKey(),
|
prev->getKey(),
|
||||||
entry.getKey(),
|
entry.getKey(),
|
||||||
|
Reference in New Issue
Block a user