From 99947625e8c81bedea910ae52da816dd942d52d9 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 28 Nov 2023 12:17:03 -0500 Subject: add a method to reset a memory bucket --- src/memory.cpp | 7 +++++++ src/memory.hpp | 1 + 2 files changed, 8 insertions(+) (limited to 'src') diff --git a/src/memory.cpp b/src/memory.cpp index c5d8375..f2b2ee3 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -48,6 +48,13 @@ int64_t InitNewBucket(int64_t sz, bool transient = false) { return bucketHead++; } +void Pke_ResetBucket(MemBucket *bkt) { + bkt->head = 0; + bkt->lostBytes = 0; + bkt->allocs = 0; + bkt->lastEmptyBlockIndex = -1; +} + void DestroyBucket(MemBucket *bkt) { std::free(bkt->blocks); bkt->size = 0; diff --git a/src/memory.hpp b/src/memory.hpp index b041d16..0f70a61 100644 --- a/src/memory.hpp +++ b/src/memory.hpp @@ -34,6 +34,7 @@ void Pke_DebugPrint(); MemBucket *Pke_BeginTransientBucket(int64_t sz = DEFAULT_BUCKET_SIZE); void Pke_EndTransientBucket(MemBucket *bkt); +void Pke_ResetBucket(MemBucket *bkt); void Pke_MemoryFlush(); template -- cgit v1.2.3