From 13a7daad4cb9b046c26fa40913d99fe550c53dd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gr=C3=A9goire?= Date: Fri, 23 Oct 2026 23:47:35 -0400 Subject: [PATCH] ex/string: make string entries smaller --- src/sys/ex/string.zig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/sys/ex/string.zig b/src/sys/ex/string.zig index b5bf30f..96ee5d0 100644 --- a/src/sys/ex/string.zig +++ b/src/sys/ex/string.zig @@ -10,7 +10,8 @@ const rcu = r.rcu; const mm = r.mm; const Entry = struct { - string: []const u8, + string: [*]const u8, + len: u32, ref: std.atomic.Value(u32), link: rcu.SList.Entry, }; @@ -28,7 +29,7 @@ const Context = struct { } pub fn key_of(obj: *Entry) Key { - return obj.string; + return obj.string[0..obj.len]; } pub fn is_alive(obj: *Entry) bool { @@ -77,7 +78,7 @@ pub const InternedString = packed struct(usize) { } const entry: *Entry = @ptrFromInt(self.bits); - return entry.string; + return entry.string[0..entry.len]; } }; @@ -170,5 +171,5 @@ pub fn release(string: InternedString) void { } fn reclaim(entry: *Entry) void { - mm.zone.gpa.free(entry.string); + mm.zone.gpa.free(entry.string[0..entry.len]); }