diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-05-05 19:13:43 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-06-10 20:42:29 -0700 |
| commit | 31aee50c1a96b7e72b42ee885636b27fbcac8eb4 (patch) | |
| tree | ddd17a80a48fa620a6d4cea9d8f6a970eb90845d /src/codegen/spirv.zig | |
| parent | 08e97639513f09e2797bd7afcdfdfecdad6c6fd8 (diff) | |
| download | zig-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.zig | 6 |
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; |
