From 69e6672e36e6ea377cd6d1bb1d93c260f292063b Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Fri, 6 Oct 2023 12:56:19 -0400 Subject: debug print memory buckets on shutdown --- src/main.cpp | 1 + src/memory.cpp | 13 +++++++++++++ src/memory.hpp | 4 +++- 3 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main.cpp b/src/main.cpp index 8a0b1f9..aa27dff 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -99,6 +99,7 @@ int main() { printf("PKE SHUTDOWN INITIATED\n"); EntityType_Teardown(); DestroyWindow(); + Pke_DebugPrint(); printf("PKE EXITING\n"); return 0; } diff --git a/src/memory.cpp b/src/memory.cpp index ee99fc8..87d5eca 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -123,3 +123,16 @@ uint64_t Buckets_NewHandle(std::size_t bucketBytes, uint64_t bucketItemCount, ui return newHandle; } + +void Pke_DebugPrint() { + printf("Memory Manager printout:\nBucket count: %li\n", bucketHead + 1); + for (long i = 0; i < bucketHead + 1; ++i) { + printf("- bucket #%li\n", i); + printf("\tsize: %li\n", buckets[i].size); + printf("\thead: %li\n", buckets[i].head); + printf("\tfree: %li\n", buckets[i].free); + printf("\tallocs: %li\n", buckets[i].allocs); + printf("\ttransient: %i\n", buckets[i].transient); + printf("\tptr: %p\n", buckets[i].ptr); + } +} diff --git a/src/memory.hpp b/src/memory.hpp index 9936d5a..bde3f2b 100644 --- a/src/memory.hpp +++ b/src/memory.hpp @@ -9,6 +9,7 @@ #include #include +// 256MB #define DEFAULT_BUCKET_SIZE 1UL << 27 struct MemBucket; @@ -25,8 +26,9 @@ void *Pke_New(std::size_t sz); void *Pke_New(std::size_t sz, MemBucket *bkt); void Pke_Delete(const void *ptr, std::size_t sz); void Pke_Delete(const void *ptr, std::size_t sz, MemBucket *bkt); +void Pke_DebugPrint(); -MemBucket *Pke_BeginTransientBucket(int64_t sz = DEFAULT_BUCKET_SIZE); // 256MB +MemBucket *Pke_BeginTransientBucket(int64_t sz = DEFAULT_BUCKET_SIZE); void Pke_EndTransientBucket(MemBucket *bkt); void Pke_MemoryFlush(); -- cgit v1.2.3