From 54e47ebd406049fe52c8495efa4e0b3c2c71c08f Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Mon, 12 Aug 2024 16:25:12 -0700 Subject: [PATCH] Simplify insert loop --- ConflictSet.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/ConflictSet.cpp b/ConflictSet.cpp index a690e6e..0b69e9e 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -2798,20 +2798,10 @@ Node **insert(Node **self, std::span key, assert(maxVersion(*self, impl) <= writeVersion); setMaxVersion(*self, impl, writeVersion); - for (;; ++tls->accum.insert_iterations) { - - if (key.size() == 0) { - return self; - } - - bool existed = getChild(*self, key.front()); - auto &child = getOrCreateChild(*self, key, writeVersion, tls); - if (!existed) { - return &child; - } - - self = &child; + for (; key.size() != 0; ++tls->accum.insert_iterations) { + self = &getOrCreateChild(*self, key, writeVersion, tls); } + return self; } void destroyTree(Node *root) {