diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2025-09-19 14:18:09 +0100 |
|---|---|---|
| committer | gingerBill <gingerBill@users.noreply.github.com> | 2025-09-19 14:18:09 +0100 |
| commit | 76705c680087d58b6b50492f848a4804318d1ba8 (patch) | |
| tree | dc16bc72dad778859423a186c9df018620236c58 /src/llvm_backend.cpp | |
| parent | 6bca1475edb8e2aec4bcbe942835bcc54f9e837e (diff) | |
Convert `missing_procedures_to_check` to a queue
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 3ac5970f8..02df76243 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -2477,15 +2477,9 @@ gb_internal void lb_generate_procedures(lbGenerator *gen, bool do_threading) { gb_internal WORKER_TASK_PROC(lb_generate_missing_procedures_to_check_worker_proc) { lbModule *m = cast(lbModule *)data; - for (isize i = 0; i < m->missing_procedures_to_check.count; i++) { - lbProcedure *p = m->missing_procedures_to_check[i]; + for (lbProcedure *p = nullptr; mpsc_dequeue(&m->missing_procedures_to_check, &p); /**/) { debugf("Generate missing procedure: %.*s module %p\n", LIT(p->name), m); - isize count = m->procedures_to_generate.count; lb_generate_procedure(m, p); - isize new_count = m->procedures_to_generate.count; - if (count != new_count) { - gb_printf_err("NEW STUFF!\n"); - } } return 0; } @@ -2505,6 +2499,12 @@ gb_internal void lb_generate_missing_procedures(lbGenerator *gen, bool do_thread lb_generate_missing_procedures_to_check_worker_proc(m); } } + + for (auto const &entry : gen->modules) { + lbModule *m = entry.value; + GB_ASSERT(m->missing_procedures_to_check.count == 0); + GB_ASSERT(m->procedures_to_generate.count == 0); + } } gb_internal void lb_debug_info_complete_types_and_finalize(lbGenerator *gen) { |