aboutsummaryrefslogtreecommitdiff
path: root/src/server/build.odin
diff options
context:
space:
mode:
authorDaniel Gavin <daga@foa.dk>2024-03-26 15:25:29 +0100
committerDaniel Gavin <daga@foa.dk>2024-03-26 15:25:29 +0100
commitf16cd9242c854788b6ae6a6201d8849b35201f27 (patch)
tree30c6b562507d04adee33aa2e589ed7d4515ff1cd /src/server/build.odin
parentc17e907e784d9e32d32263c067c1b122254b4347 (diff)
Try to use runtime.Arena in build.
Diffstat (limited to 'src/server/build.odin')
-rw-r--r--src/server/build.odin9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/build.odin b/src/server/build.odin
index e29cc2e..2d82b8e 100644
--- a/src/server/build.odin
+++ b/src/server/build.odin
@@ -12,7 +12,6 @@ import path "core:path/slashpath"
import "core:runtime"
import "core:strings"
import "core:time"
-import mem_virtual "core:mem/virtual"
import "src:common"
@@ -75,8 +74,12 @@ try_build_package :: proc(pkg_name: string) {
return
}
+ arena: runtime.Arena
+ result := runtime.arena_init(&arena, mem.Megabyte * 40, context.allocator)
+ defer runtime.arena_destroy(&arena)
+
{
- context.allocator = context.temp_allocator
+ context.allocator = runtime.arena_allocator(&arena)
for fullpath in matches {
if skip_file(filepath.base(fullpath)) {
@@ -130,7 +133,7 @@ try_build_package :: proc(pkg_name: string) {
collect_symbols(&indexer.index.collection, file, uri.uri)
- //free_all(context.allocator)
+ runtime.arena_free_all(&arena)
}
}