aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2025-06-01 22:57:59 +0100
committermlugg <mlugg@mlugg.co.uk>2025-06-12 13:55:40 +0100
commit5ab307cf47b1f0418d9ed4ab56df6fb798305c20 (patch)
treee6efda29764d1fdaa92c40cce951f13c394facba /src/Compilation.zig
parent9eb400ef19391261a3b61129d8665602c89959c5 (diff)
downloadzig-5ab307cf47b1f0418d9ed4ab56df6fb798305c20.tar.gz
zig-5ab307cf47b1f0418d9ed4ab56df6fb798305c20.zip
compiler: get most backends compiling again
As of this commit, every backend other than self-hosted Wasm and self-hosted SPIR-V compiles and (at least somewhat) functions again. Those two backends are currently disabled with panics. Note that `Zcu.Feature.separate_thread` is *not* enabled for the fixed backends. Avoiding linker references from codegen is a non-trivial task, and can be done after this branch.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 64ec1ab0a8..e967935539 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -4550,8 +4550,6 @@ fn processOneJob(tid: usize, comp: *Compilation, job: Job) JobError!void {
air.deinit(gpa);
return;
}
- const pt: Zcu.PerThread = .activate(comp.zcu.?, @enumFromInt(tid));
- defer pt.deactivate();
const shared_mir = try gpa.create(link.ZcuTask.LinkFunc.SharedMir);
shared_mir.* = .{
.status = .init(.pending),
@@ -4567,7 +4565,11 @@ fn processOneJob(tid: usize, comp: *Compilation, job: Job) JobError!void {
} });
} else {
const emit_needs_air = !zcu.backendSupportsFeature(.separate_thread);
- pt.runCodegen(func.func, &air, shared_mir);
+ {
+ const pt: Zcu.PerThread = .activate(comp.zcu.?, @enumFromInt(tid));
+ defer pt.deactivate();
+ pt.runCodegen(func.func, &air, shared_mir);
+ }
assert(shared_mir.status.load(.monotonic) != .pending);
comp.dispatchZcuLinkTask(tid, .{ .link_func = .{
.func = func.func,