authorgravatar for rpkak@noreply.codeberg.orgrpkak <rpkak@noreply.codeberg.org> 2025-12-28 21:48:43+01:00
committergravatar for rpkak@noreply.codeberg.orgrpkak <rpkak@noreply.codeberg.org> 2026-07-16 23:09:59+02:00
logbb80906868d26b9eec6ecd2ed2d7593ccbe88ae5
tree38e2965d436797fc7dde03905e38e6f625709517
parent5d08e47160ade85f0b47f925f9aa32b66827e82e
signaturebadge-check Signed by SSH key SHA256:A2g6ATENrgLKQcUdthsn72P0njmQxnHSimzwnyJsZzo

Fix some counting errors related to std.Progress in the compiler


5 files changed, 17 insertions(+), 4 deletions(-)

src/Compilation.zig+8-1
......@@ -2911,7 +2911,14 @@ pub fn update(comp: *Compilation, main_progress_node: std.Progress.Node) UpdateE
29112911 // The linker progress node is set up here instead of in `performAllTheWork`, because
29122912 // we also want it around during `flush`.
29132913 if (comp.bin_file) |lf| {
2914 comp.link_prog_node = main_progress_node.start("Linking", 0);
2914 // mirrors logic in `Compilation.flush`:
2915 // For llvm: "LLVM Emit Object" and "Parse Object" with the zcu object
2916 // Always: flush of the linker
2917 const initial_estimated_total: usize = if (comp.zcu) |zcu|
2918 if (zcu.llvm_object) |_| 3 else 1
2919 else
2920 1;
2921 comp.link_prog_node = main_progress_node.start("Linking", initial_estimated_total);
29152922 lf.startProgress(comp.link_prog_node);
29162923 }
29172924 defer if (comp.bin_file) |lf| {
src/Zcu/PerThread.zig+1
......@@ -876,6 +876,7 @@ fn updateZirRefs(pt: Zcu.PerThread) (Io.Cancelable || Allocator.Error)!void {
876876 const old_line = old_zir.getDeclaration(old_inst).src_line;
877877 const new_line = new_zir.getDeclaration(new_inst).src_line;
878878 if (old_line != new_line) {
879 comp.link_prog_node.increaseEstimatedTotalItems(1);
879880 try comp.link_queue.enqueueZcu(comp, pt.tid, .{ .debug_update_line_number = tracked_inst_index });
880881 }
881882 },
src/link/Coff.zig+3-1
......@@ -5886,7 +5886,9 @@ pub fn flush(
58865886 prog_node: std.Progress.Node,
58875887) link.Error!void {
58885888 _ = arena;
5889 _ = prog_node;
5889 const sub_prog_node = prog_node.start("COFF Flush", 0);
5890 defer sub_prog_node.end();
5891
58905892 const comp = coff.base.comp;
58915893
58925894 // TODO: When https://github.com/ziglang/zig/issues/23617 is in,
src/link/Elf2.zig+4-2
......@@ -5224,7 +5224,7 @@ fn loadObject(
52245224 .first_symbol_reloc = .none,
52255225 .first_got_reloc = .none,
52265226 };
5227 elf.synth_prog_node.increaseEstimatedTotalItems(1);
5227 elf.input_prog_node.increaseEstimatedTotalItems(1);
52285228 }
52295229 var symmap: std.ArrayList(Symbol.Id) = .empty;
52305230 defer symmap.deinit(gpa);
......@@ -7105,9 +7105,11 @@ pub fn flush(
71057105) link.Error!void {
71067106 const comp = elf.base.comp;
71077107 const diags = &comp.link_diags;
7108 _ = prog_node;
71097108 _ = arena;
71107109
7110 const sub_prog_node = prog_node.start("ELF Flush", 0);
7111 defer sub_prog_node.end();
7112
71117113 if (comp.config.output_mode == .Exe) {
71127114 var any_undef = false;
71137115 for (elf.globals.strong_undef.keys()) |name| {
src/link/Wasm.zig+1
......@@ -3398,6 +3398,7 @@ pub fn prelink(wasm: *Wasm, prog_node: std.Progress.Node) link.Error!void {
33983398 const tracy = trace(@src());
33993399 defer tracy.end();
34003400
3401 prog_node.increaseEstimatedTotalItems(1);
34013402 const sub_prog_node = prog_node.start("Wasm Prelink", 0);
34023403 defer sub_prog_node.end();
34033404