diff options
| author | gingerBill <bill@gingerbill.org> | 2023-03-16 15:04:57 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2023-03-16 15:04:57 +0000 |
| commit | c1c7128634db88915860ed56f7a1e45317f7c02d (patch) | |
| tree | 89149d5487fe51ee63abeef16e3b3f5d4a92c375 /src/llvm_backend.cpp | |
| parent | e05944601a07e6cb9c0ec84f80ca4ca3511c84ea (diff) | |
Minimize severe memory usage by enforcing the `heap_allocator()` in places
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 6d35615a3..543f5d833 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -1192,15 +1192,16 @@ gb_internal lbProcedure *lb_create_cleanup_runtime(lbModule *main_module) { // C gb_internal WORKER_TASK_PROC(lb_generate_procedures_and_types_per_module) { lbModule *m = cast(lbModule *)data; for (Entity *e : m->global_procedures_and_types_to_create) { - String mangled_name = lb_get_entity_name(m, e); - - switch (e->kind) { - case Entity_TypeName: + if (e->kind == Entity_TypeName) { + (void)lb_get_entity_name(m, e); lb_type(m, e->type); - break; - case Entity_Procedure: + } + } + + for (Entity *e : m->global_procedures_and_types_to_create) { + if (e->kind == Entity_Procedure) { + (void)lb_get_entity_name(m, e); array_add(&m->procedures_to_generate, lb_create_procedure(m, e)); - break; } } return 0; |