authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-08-13 18:09:57-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-08-13 23:40:03-07:00
log896945d8ddaac93d987788039c7e101b2bf32d22
tree791e5af62e73d1e3b54ca49ddedb2b55e3ba219c
parent396ddd444304bef65f0f01cb577f924dc44b6800

std.Build.Serialize: better array awareness


1 files changed, 4 insertions(+), 17 deletions(-)

lib/std/Build/Serialize.zig+4-17
......@@ -838,22 +838,9 @@ fn addPackageInstance(s: *Serialize, b: *std.Build) Allocator.Error!void {
838838 }
839839 }
840840
841 const modules_keys = try arena.alloc(
842 []const u8,
843 b.modules.count(),
844 );
845 const modules_values = try arena.alloc(
846 Configuration.Module.Index,
847 b.modules.count(),
848 );
849
850 {
851 var i: usize = 0;
852 var iter = b.modules.iterator();
853 while (iter.next()) |entry| : (i += 1) {
854 modules_keys[i] = entry.key_ptr.*;
855 modules_values[i] = try s.addModule(entry.value_ptr.*);
856 }
841 const modules_values = try arena.alloc(Configuration.Module.Index, b.modules.count());
842 for (modules_values, b.modules.values()) |*dest_value, value| {
843 dest_value.* = try s.addModule(value);
857844 }
858845
859846 wc.package_instances.items[index] = .{
......@@ -862,7 +849,7 @@ fn addPackageInstance(s: *Serialize, b: *std.Build) Allocator.Error!void {
862849 .options = .{ .slice = options },
863850 }),
864851 .modules = .{
865 .keys = try wc.addStringList(modules_keys),
852 .keys = try wc.addStringList(b.modules.keys()),
866853 .values = try wc.addDeduped(Configuration.Module.List, .{
867854 .modules = .{ .slice = modules_values },
868855 }),