diff options
| author | Ginger Bill <bill@gingerbill.org> | 2017-07-05 13:51:25 +0100 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2017-07-05 13:51:25 +0100 |
| commit | eed873c6ec9ac1631fbf1285d4047596b353e9bf (patch) | |
| tree | b24943bc111d45b84a4dd01a384fc917b87e6a57 /src/checker.cpp | |
| parent | 3d2d46186751c67c4239479bcbe4908dff61ecd4 (diff) | |
Add `free` for maps (a previous oversight)
Diffstat (limited to 'src/checker.cpp')
| -rw-r--r-- | src/checker.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/checker.cpp b/src/checker.cpp index 149435ed2..c66f9a63e 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -305,9 +305,10 @@ struct Checker { Array<DelayedDecl> delayed_foreign_libraries; Array<CheckerFileNode> file_nodes; + Pool pool; + gbAllocator allocator; gbArena arena; gbArena tmp_arena; - gbAllocator allocator; gbAllocator tmp_allocator; CheckerContext context; @@ -773,11 +774,13 @@ void init_checker(Checker *c, Parser *parser) { total_token_count += f->tokens.count; } isize arena_size = 2 * item_size * total_token_count; - gb_arena_init_from_allocator(&c->arena, a, arena_size); gb_arena_init_from_allocator(&c->tmp_arena, a, arena_size); + gb_arena_init_from_allocator(&c->arena, a, arena_size); - - c->allocator = gb_arena_allocator(&c->arena); + pool_init(&c->pool, gb_megabytes(4), gb_kilobytes(384)); + // c->allocator = pool_allocator(&c->pool); + c->allocator = heap_allocator(); + // c->allocator = gb_arena_allocator(&c->arena); c->tmp_allocator = gb_arena_allocator(&c->tmp_arena); c->global_scope = make_scope(universal_scope, c->allocator); @@ -793,7 +796,9 @@ void destroy_checker(Checker *c) { array_free(&c->delayed_foreign_libraries); array_free(&c->file_nodes); - gb_arena_free(&c->arena); + pool_destroy(&c->pool); + gb_arena_free(&c->tmp_arena); + // gb_arena_free(&c->arena); } |