aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/aarch64/Select.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-12-12 19:04:35 -0800
committerAndrew Kelley <andrew@ziglang.org>2025-12-23 22:15:09 -0800
commit1925e0319f1337b4856bd5a181bf4f6d3ac7d428 (patch)
treeb38839cca2604368b01b4312119083a5cdf3d224 /src/codegen/aarch64/Select.zig
parentec56696503e702e063af8740a77376b2e7694c29 (diff)
downloadzig-1925e0319f1337b4856bd5a181bf4f6d3ac7d428.tar.gz
zig-1925e0319f1337b4856bd5a181bf4f6d3ac7d428.zip
update lockStderrWriter sites
use the application's Io implementation where possible. This correctly makes writing to stderr cancelable, fallible, and participate in the application's event loop. It also removes one more hard-coded dependency on a secondary Io implementation.
Diffstat (limited to 'src/codegen/aarch64/Select.zig')
-rw-r--r--src/codegen/aarch64/Select.zig11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/codegen/aarch64/Select.zig b/src/codegen/aarch64/Select.zig
index f390d83f03..138c70fecf 100644
--- a/src/codegen/aarch64/Select.zig
+++ b/src/codegen/aarch64/Select.zig
@@ -11273,15 +11273,18 @@ fn initValueAdvanced(
return @enumFromInt(isel.values.items.len);
}
pub fn dumpValues(isel: *Select, which: enum { only_referenced, all }) void {
- errdefer |err| @panic(@errorName(err));
- const stderr, _ = std.debug.lockStderrWriter(&.{});
- defer std.debug.unlockStderrWriter();
-
const zcu = isel.pt.zcu;
+ const io = zcu.comp.io;
const gpa = zcu.gpa;
const ip = &zcu.intern_pool;
const nav = ip.getNav(isel.nav_index);
+ errdefer |err| @panic(@errorName(err));
+
+ const stderr_writer = io.lockStderrWriter(&.{}) catch return;
+ defer io.unlockStderrWriter();
+ const stderr = &stderr_writer.interface;
+
var reverse_live_values: std.AutoArrayHashMapUnmanaged(Value.Index, std.ArrayList(Air.Inst.Index)) = .empty;
defer {
for (reverse_live_values.values()) |*list| list.deinit(gpa);