Prepare to bitpack node fields if desired
This commit is contained in:
@@ -1613,7 +1613,8 @@ void addWriteRange(Node *&root, int64_t oldestVersion,
|
|||||||
|
|
||||||
auto *beginNode = insert<true>(useAsRoot, begin, writeVersion, impl);
|
auto *beginNode = insert<true>(useAsRoot, begin, writeVersion, impl);
|
||||||
|
|
||||||
const bool insertedBegin = !std::exchange(beginNode->entryPresent, true);
|
const bool insertedBegin = !beginNode->entryPresent;
|
||||||
|
beginNode->entryPresent = true;
|
||||||
|
|
||||||
if (insertedBegin) {
|
if (insertedBegin) {
|
||||||
auto *p = nextLogical(beginNode);
|
auto *p = nextLogical(beginNode);
|
||||||
@@ -1630,7 +1631,8 @@ void addWriteRange(Node *&root, int64_t oldestVersion,
|
|||||||
|
|
||||||
auto *endNode = insert<false>(useAsRoot, end, writeVersion, impl);
|
auto *endNode = insert<false>(useAsRoot, end, writeVersion, impl);
|
||||||
|
|
||||||
const bool insertedEnd = !std::exchange(endNode->entryPresent, true);
|
const bool insertedEnd = !endNode->entryPresent;
|
||||||
|
endNode->entryPresent = true;
|
||||||
|
|
||||||
if (insertedEnd) {
|
if (insertedEnd) {
|
||||||
auto *p = nextLogical(endNode);
|
auto *p = nextLogical(endNode);
|
||||||
|
Reference in New Issue
Block a user