Add extra internal memory analysis

This commit is contained in:
gingerBill committed 2020-04-06 12:17:54 +01:00
1 parent d659e679fd
commit d0b913dad1
3 files changed
+47 -1

No files matched your search

+7
View File
@@ -442,9 +442,16 @@ bool ast_node_expect(Ast *node, AstKind kind) {
}
gb_global isize volatile total_allocated_node_memory = 0;
gb_global isize volatile total_subtype_node_memory_test = 0;
// NOTE(bill): And this below is why is I/we need a new language! Discriminated unions are a pain in C/C++
Ast *alloc_ast_node(AstFile *f, AstKind kind) {
gbAllocator a = ast_allocator();
_InterlockedExchangeAdd64(&total_allocated_node_memory, gb_size_of(Ast));
_InterlockedExchangeAdd64(&total_subtype_node_memory_test, gb_size_of(AstCommonStuff) + ast_variant_sizes[kind]);
Ast *node = gb_alloc_item(a, Ast);
node->kind = kind;
node->file = f;