aboutsummaryrefslogtreecommitdiff
path: root/src/arch/wasm/CodeGen.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-05-25 05:47:25 -0400
committerAndrew Kelley <andrew@ziglang.org>2023-06-10 20:47:54 -0700
commit1a4626d2cf8b9985833f97b6fea6ea03011ada4e (patch)
tree1ca633e34a9b406ab48d5584db4159807941647e /src/arch/wasm/CodeGen.zig
parent6e0de1d11694a58745da76d601ebab7562feed09 (diff)
downloadzig-1a4626d2cf8b9985833f97b6fea6ea03011ada4e.tar.gz
zig-1a4626d2cf8b9985833f97b6fea6ea03011ada4e.zip
InternPool: remove more legacy values
Reinstate some tags that will be needed for comptime init.
Diffstat (limited to 'src/arch/wasm/CodeGen.zig')
-rw-r--r--src/arch/wasm/CodeGen.zig27
1 files changed, 5 insertions, 22 deletions
diff --git a/src/arch/wasm/CodeGen.zig b/src/arch/wasm/CodeGen.zig
index 66c0399343..85fc8346f8 100644
--- a/src/arch/wasm/CodeGen.zig
+++ b/src/arch/wasm/CodeGen.zig
@@ -1833,7 +1833,6 @@ fn genInst(func: *CodeGen, inst: Air.Inst.Index) InnerError!void {
const air_tags = func.air.instructions.items(.tag);
return switch (air_tags[inst]) {
.constant => unreachable,
- .const_ty => unreachable,
.interned => unreachable,
.add => func.airBinOp(inst, .add),
@@ -6903,28 +6902,12 @@ fn getTagNameFunction(func: *CodeGen, enum_ty: Type) InnerError!u32 {
.child = .u8_type,
.sentinel = .zero_u8,
});
- const string_bytes = &mod.string_literal_bytes;
- try string_bytes.ensureUnusedCapacity(mod.gpa, tag_name.len);
- const gop = try mod.string_literal_table.getOrPutContextAdapted(mod.gpa, @as([]const u8, tag_name), Module.StringLiteralAdapter{
- .bytes = string_bytes,
- }, Module.StringLiteralContext{
- .bytes = string_bytes,
- });
- if (!gop.found_existing) {
- gop.key_ptr.* = .{
- .index = @intCast(u32, string_bytes.items.len),
- .len = @intCast(u32, tag_name.len),
- };
- string_bytes.appendSliceAssumeCapacity(tag_name);
- gop.value_ptr.* = .none;
- }
- var name_val_payload: Value.Payload.StrLit = .{
- .base = .{ .tag = .str_lit },
- .data = gop.key_ptr.*,
- };
- const name_val = Value.initPayload(&name_val_payload.base);
+ const name_val = try mod.intern(.{ .aggregate = .{
+ .ty = name_ty.toIntern(),
+ .storage = .{ .bytes = tag_name },
+ } });
const tag_sym_index = try func.bin_file.lowerUnnamedConst(
- .{ .ty = name_ty, .val = name_val },
+ .{ .ty = name_ty, .val = name_val.toValue() },
enum_decl_index,
);