aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2021-08-26 16:06:37 +0100
committerGitHub <noreply@github.com>2021-08-26 16:06:37 +0100
commit6dfab34aca9a645f6f8c1ddd220f663aa90de529 (patch)
tree0436f1ac647625bfc1067c6419e831599a8ef811 /src/main.cpp
parent98dd59e412314f089fc9558c5cf92a8a5df5213a (diff)
parentd3d805ffb3e859c1fa85865345c5adc557326c2d (diff)
Merge pull request #1101 from odin-lang/compiler-allocator-improvements
Compiler Allocator Improvements
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: