diff options
| author | gingerBill <bill@gingerbill.org> | 2022-02-18 21:30:25 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-02-18 21:30:25 +0000 |
| commit | 71df46456a4db2592e8cebbdd4c46dc8b58b5a24 (patch) | |
| tree | 4152775ac24721cd026025d1e478d2eb9a254b41 /src/parser.hpp | |
| parent | cd89d8a3c414a6929ec058a04aeec568d99505a5 (diff) | |
Minimize memory usage by having an arena per thread rather than an arena per file
Diffstat (limited to 'src/parser.hpp')
| -rw-r--r-- | src/parser.hpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/parser.hpp b/src/parser.hpp index 83c755553..f6791a291 100644 --- a/src/parser.hpp +++ b/src/parser.hpp @@ -97,8 +97,6 @@ struct AstFile { AstPackage * pkg; Scope * scope; - Arena arena; - Ast * pkg_decl; String fullpath; Tokenizer tokenizer; @@ -801,10 +799,10 @@ gb_inline bool is_ast_when_stmt(Ast *node) { return node->kind == Ast_WhenStmt; } -gb_global gb_thread_local Arena global_ast_arena = {}; +gb_global gb_thread_local Arena global_thread_local_ast_arena = {}; gbAllocator ast_allocator(AstFile *f) { - Arena *arena = f ? &f->arena : &global_ast_arena; + Arena *arena = &global_thread_local_ast_arena; return arena_allocator(arena); } |