aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-08-26 15:38:34 +0100
committergingerBill <bill@gingerbill.org>2021-08-26 15:38:34 +0100
commitaa8777ee47f503eb90d4e2225274d0d20a9b39a3 (patch)
tree1848951efd4e7452e5fc04376e21920718f44a76 /src/main.cpp
parent98dd59e412314f089fc9558c5cf92a8a5df5213a (diff)
Change the implementation of `Arena` to use virtual memory, and remove the old gbArena code
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 062b52635..dab1257bd 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -60,7 +60,6 @@ i32 system_exec_command_line_app(char const *name, char const *fmt, ...) {
isize const cmd_cap = 4096;
char cmd_line[cmd_cap] = {};
va_list va;
- gbTempArenaMemory tmp;
String16 cmd;
i32 exit_code = 0;
@@ -80,10 +79,7 @@ i32 system_exec_command_line_app(char const *name, char const *fmt, ...) {
gb_printf_err("%.*s\n\n", cast(int)(cmd_len-1), cmd_line);
}
- tmp = gb_temp_arena_memory_begin(&string_buffer_arena);
- defer (gb_temp_arena_memory_end(tmp));
-
- cmd = string_to_string16(string_buffer_allocator, make_string(cast(u8 *)cmd_line, cmd_len-1));
+ cmd = string_to_string16(permanent_allocator(), make_string(cast(u8 *)cmd_line, cmd_len-1));
if (CreateProcessW(nullptr, cmd.text,
nullptr, nullptr, true, 0, nullptr, nullptr,
&start_info, &pi)) {
@@ -2005,10 +2001,8 @@ int main(int arg_count, char const **arg_ptr) {
defer (timings_destroy(&global_timings));
TIME_SECTION("initialization");
-
- arena_init(&permanent_arena, heap_allocator());
- temp_allocator_init(&temporary_allocator_data, 16*1024*1024);
- arena_init(&global_ast_arena, heap_allocator());
+
+ virtual_memory_init();
mutex_init(&fullpath_mutex);
init_string_buffer_memory();
@@ -2187,7 +2181,7 @@ int main(int arg_count, char const **arg_ptr) {
return 1;
}
- temp_allocator_free_all(&temporary_allocator_data);
+ arena_free_all(&temporary_arena);
TIME_SECTION("type check");
@@ -2200,7 +2194,7 @@ int main(int arg_count, char const **arg_ptr) {
return 1;
}
- temp_allocator_free_all(&temporary_allocator_data);
+ arena_free_all(&temporary_arena);
if (build_context.generate_docs) {
if (global_error_collector.count != 0) {
@@ -2237,7 +2231,7 @@ int main(int arg_count, char const **arg_ptr) {
}
lb_generate_code(gen);
- temp_allocator_free_all(&temporary_allocator_data);
+ arena_free_all(&temporary_arena);
switch (build_context.build_mode) {
case BuildMode_Executable: