diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2024-03-22 12:34:55 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-22 12:34:55 +0100 |
| commit | 63d9bdcde278c262b6365f3abfa964fa578ea4c0 (patch) | |
| tree | 595eb36274b93d97ec66a6972c5a41880edad66e /src/server/build.odin | |
| parent | 0d2b51eab4892f440db28657bc7b25c41d9cd640 (diff) | |
| parent | 7ea00cb7418c0816bafe69319fe254ed741a13ff (diff) | |
Merge pull request #322 from oliverlars/fix-large-file-crash
Switch static arena to growing arena
Diffstat (limited to 'src/server/build.odin')
| -rw-r--r-- | src/server/build.odin | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/server/build.odin b/src/server/build.odin index 54ec93a..d8a20ac 100644 --- a/src/server/build.odin +++ b/src/server/build.odin @@ -12,6 +12,7 @@ import path "core:path/slashpath" import "core:runtime" import "core:strings" import "core:time" +import mem_virtual "core:mem/virtual" import "src:common" @@ -68,16 +69,12 @@ try_build_package :: proc(pkg_name: string) { return } - temp_arena: mem.Arena - - mem.arena_init( - &temp_arena, - make([]byte, mem.Megabyte * 25, runtime.default_allocator()), - ) - defer delete(temp_arena.data) + temp_arena: mem_virtual.Arena + allocator_err := mem_virtual.arena_init_growing(&temp_arena, mem.Megabyte * 16); + defer mem_virtual.arena_destroy(&temp_arena) { - context.allocator = mem.arena_allocator(&temp_arena) + context.allocator = mem_virtual.arena_allocator(&temp_arena) for fullpath in matches { if skip_file(filepath.base(fullpath)) { |