From 8629b2497b7cb453d1e4a3ed6897cfaf8a771863 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Wed, 6 Dec 2023 15:27:42 -0500 Subject: expose if the contents of a bucket were moved --- src/memory.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/memory.cpp') diff --git a/src/memory.cpp b/src/memory.cpp index f2b2ee3..9d235db 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -344,7 +344,8 @@ void Pke_MemoryFlush() { } } -uint64_t Buckets_NewHandle(std::size_t bucketBytes, std::size_t alignment, uint64_t bucketItemCount, uint64_t &bucketIncrementer, uint64_t &bucketCounter, uint64_t &itemCounter, void*& buckets) { +uint64_t Buckets_NewHandle(std::size_t bucketBytes, std::size_t alignment, uint64_t bucketItemCount, uint64_t &bucketIncrementer, uint64_t &bucketCounter, uint64_t &itemCounter, void*& buckets, bool &moved) { + moved = false; uint64_t newHandle{itemCounter | bucketCounter}; std::size_t calculatedAlignment = alignment < MINIMUM_ALIGNMENT ? MINIMUM_ALIGNMENT : alignment; @@ -355,6 +356,7 @@ uint64_t Buckets_NewHandle(std::size_t bucketBytes, std::size_t alignment, uint6 bucketCounter += 1; } if (bucketCounter > bucketIncrementer) { + moved = true; int64_t newIncrement = bucketIncrementer * 1.5; char * newBuckets = reinterpret_cast(Pke_New(bucketBytes * newIncrement, calculatedAlignment)); std::memcpy(newBuckets, buckets, bucketBytes * bucketIncrementer); -- cgit v1.2.3