aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
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,