Browse Source

dtool: Track DeletedChain memory use even without USE_DELETED_CHAIN

rdb 3 months ago
parent
commit
9427f2b590
1 changed files with 13 additions and 1 deletions
  1. 13 1
      dtool/src/dtoolbase/deletedBufferChain.cxx

+ 13 - 1
dtool/src/dtoolbase/deletedBufferChain.cxx

@@ -88,7 +88,14 @@ allocate(size_t size, TypeHandle type_handle) {
   return ptr;
 
 #else  // USE_DELETED_CHAIN
-  return PANDA_MALLOC_SINGLE(_buffer_size);
+  void *ptr = PANDA_MALLOC_SINGLE(_buffer_size);
+
+#ifdef DO_MEMORY_USAGE
+  type_handle.inc_memory_usage(TypeHandle::MC_singleton, _buffer_size);
+#endif  // DO_MEMORY_USAGE
+
+  return ptr;
+
 #endif  // USE_DELETED_CHAIN
 }
 
@@ -133,6 +140,11 @@ deallocate(void *ptr, TypeHandle type_handle) {
   _lock.unlock();
 
 #else  // USE_DELETED_CHAIN
+
+#ifdef DO_MEMORY_USAGE
+  type_handle.dec_memory_usage(TypeHandle::MC_singleton, _buffer_size);
+#endif  // DO_MEMORY_USAGE
+
   PANDA_FREE_SINGLE(ptr);
 #endif  // USE_DELETED_CHAIN
 }