aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/spirv.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-07-04 23:13:22 -0400
committerGitHub <noreply@github.com>2024-07-04 23:13:22 -0400
commit0f8561d099e4d08be0a6e547dd88f21026504490 (patch)
tree69bdcb7800608daed4a8908406623f3bab38f0e4 /src/codegen/spirv.zig
parent790b8428a26457e7ed9ea20485b9d3085011b989 (diff)
parent74346b0f79ca4bf67d61008030c7cc3565bff3f9 (diff)
downloadzig-0f8561d099e4d08be0a6e547dd88f21026504490.tar.gz
zig-0f8561d099e4d08be0a6e547dd88f21026504490.zip
Merge pull request #20487 from ziglang/incremental-serialization
Zcu: extract serializable state from File
Diffstat (limited to 'src/codegen/spirv.zig')
-rw-r--r--src/codegen/spirv.zig19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig
index c56a5a799e..2fbe9097d6 100644
--- a/src/codegen/spirv.zig
+++ b/src/codegen/spirv.zig
@@ -188,19 +188,20 @@ pub const Object = struct {
fn genDecl(
self: *Object,
- mod: *Module,
+ zcu: *Zcu,
decl_index: InternPool.DeclIndex,
air: Air,
liveness: Liveness,
) !void {
- const decl = mod.declPtr(decl_index);
- const namespace = mod.namespacePtr(decl.src_namespace);
- const structured_cfg = namespace.file_scope.mod.structured_cfg;
+ const gpa = self.gpa;
+ const decl = zcu.declPtr(decl_index);
+ const namespace = zcu.namespacePtr(decl.src_namespace);
+ const structured_cfg = namespace.fileScope(zcu).mod.structured_cfg;
var decl_gen = DeclGen{
- .gpa = self.gpa,
+ .gpa = gpa,
.object = self,
- .module = mod,
+ .module = zcu,
.spv = &self.spv,
.decl_index = decl_index,
.air = air,
@@ -212,19 +213,19 @@ pub const Object = struct {
false => .{ .unstructured = .{} },
},
.current_block_label = undefined,
- .base_line = decl.navSrcLine(mod),
+ .base_line = decl.navSrcLine(zcu),
};
defer decl_gen.deinit();
decl_gen.genDecl() catch |err| switch (err) {
error.CodegenFail => {
- try mod.failed_analysis.put(mod.gpa, InternPool.AnalUnit.wrap(.{ .decl = decl_index }), decl_gen.error_msg.?);
+ try zcu.failed_analysis.put(gpa, InternPool.AnalUnit.wrap(.{ .decl = decl_index }), decl_gen.error_msg.?);
},
else => |other| {
// There might be an error that happened *after* self.error_msg
// was already allocated, so be sure to free it.
if (decl_gen.error_msg) |error_msg| {
- error_msg.deinit(mod.gpa);
+ error_msg.deinit(gpa);
}
return other;