From bfea4384ba31bd8490d561bc63f71459a9e9c6b8 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Wed, 26 Jun 2024 18:28:41 -0700 Subject: [PATCH] Branchless inner page check for Node256 --- ConflictSet.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ConflictSet.cpp b/ConflictSet.cpp index 46b034a..074cf2d 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -1753,8 +1753,9 @@ bool checkMaxBetweenExclusive(Node *n, int begin, int end, } // Check inner pages bool result = true; - for (int i = (begin >> 4) + 1; i < (end - 1) >> 4; ++i) { - result &= self->maxOfMax[i] <= readVersion; + for (int i = 0; i < 16; ++i) { + result &= !((self->maxOfMax[i] > readVersion) & ((begin >> 4) + 1 <= i) & + (i < ((end - 1) >> 4))); } return result; }