summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-11-28 12:17:03 -0500
committerJonathan Bradley <jcb@pikum.xyz>2023-11-28 12:17:03 -0500
commit99947625e8c81bedea910ae52da816dd942d52d9 (patch)
tree6579fd914b7060fdec61d65f48f223baa425a358 /src
parentebcdf969c2388e97aee6ac3cde83510aab3e3238 (diff)
add a method to reset a memory bucket
Diffstat (limited to 'src')
-rw-r--r--src/memory.cpp7
-rw-r--r--src/memory.hpp1
2 files changed, 8 insertions, 0 deletions
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 <typename T>