aboutsummaryrefslogtreecommitdiff
path: root/src/parser.hpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-02-18 21:30:25 +0000
committergingerBill <bill@gingerbill.org>2022-02-18 21:30:25 +0000
commit71df46456a4db2592e8cebbdd4c46dc8b58b5a24 (patch)
tree4152775ac24721cd026025d1e478d2eb9a254b41 /src/parser.hpp
parentcd89d8a3c414a6929ec058a04aeec568d99505a5 (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.hpp6
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);
}