aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/spirv.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-05-05 19:13:43 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-06-10 20:42:29 -0700
commit31aee50c1a96b7e72b42ee885636b27fbcac8eb4 (patch)
treeddd17a80a48fa620a6d4cea9d8f6a970eb90845d /src/codegen/spirv.zig
parent08e97639513f09e2797bd7afcdfdfecdad6c6fd8 (diff)
downloadzig-31aee50c1a96b7e72b42ee885636b27fbcac8eb4.tar.gz
zig-31aee50c1a96b7e72b42ee885636b27fbcac8eb4.zip
InternPool: add a slice encoding
This uses the data field to reference its pointer field type, which allows for efficient and infallible access of a slice type's pointer type.
Diffstat (limited to 'src/codegen/spirv.zig')
-rw-r--r--src/codegen/spirv.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig
index 27a79c1c45..e3b5d24ed9 100644
--- a/src/codegen/spirv.zig
+++ b/src/codegen/spirv.zig
@@ -669,7 +669,7 @@ pub const DeclGen = struct {
const slice = val.castTag(.slice).?.data;
var buf: Type.SlicePtrFieldTypeBuffer = undefined;
- const ptr_ty = ty.slicePtrFieldType(&buf);
+ const ptr_ty = ty.slicePtrFieldType(&buf, mod);
try self.lower(ptr_ty, slice.ptr);
try self.addInt(Type.usize, slice.len);
@@ -2489,7 +2489,7 @@ pub const DeclGen = struct {
const index_id = try self.resolve(bin_op.rhs);
var slice_buf: Type.SlicePtrFieldTypeBuffer = undefined;
- const ptr_ty = slice_ty.slicePtrFieldType(&slice_buf);
+ const ptr_ty = slice_ty.slicePtrFieldType(&slice_buf, mod);
const ptr_ty_ref = try self.resolveType(ptr_ty, .direct);
const slice_ptr = try self.extractField(ptr_ty, slice_id, 0);
@@ -2987,7 +2987,7 @@ pub const DeclGen = struct {
var ptr_buf: Type.SlicePtrFieldTypeBuffer = undefined;
const ptr_ty = if (payload_ty.isSlice(mod))
- payload_ty.slicePtrFieldType(&ptr_buf)
+ payload_ty.slicePtrFieldType(&ptr_buf, mod)
else
payload_ty;