diff --git a/ConflictSet.cpp b/ConflictSet.cpp index 820dc40..7debe81 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -4869,7 +4869,8 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl { return; } - interleaved_insert::Result stackResults[100]; + constexpr int kStackResultMax = 100; + interleaved_insert::Result stackResults[kStackResultMax]; constexpr int kConcurrent = 16; interleaved_insert::Job inProgress[kConcurrent]; @@ -4879,8 +4880,7 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl { context.root = root; context.writes = writes; context.results = stackResults; - if (count > int(sizeof(stackResults) / sizeof(stackResults[0]))) - [[unlikely]] { + if (count > kStackResultMax) [[unlikely]] { context.results = (interleaved_insert::Result *)safe_malloc( count * sizeof(interleaved_insert::Result)); } @@ -4982,8 +4982,7 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl { } } - if (count > int(sizeof(stackResults) / sizeof(stackResults[0]))) - [[unlikely]] { + if (count > kStackResultMax) [[unlikely]] { safe_free(context.results, count * sizeof(interleaved_insert::Result)); } }