diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-10-06 12:56:19 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-10-06 12:59:23 -0400 |
| commit | 69e6672e36e6ea377cd6d1bb1d93c260f292063b (patch) | |
| tree | ea9ccde939b38e1d3d787ec91a74036de370d3b6 /src | |
| parent | 7c15e824842ca4fd8c6279b805ba41f788693ebe (diff) | |
debug print memory buckets on shutdown
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.cpp | 1 | ||||
| -rw-r--r-- | src/memory.cpp | 13 | ||||
| -rw-r--r-- | src/memory.hpp | 4 |
3 files changed, 17 insertions, 1 deletions
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 <cstdio> #include <cassert> +// 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(); |
