From bd1f96869e8a3cf31688c16cd0baffb65119d5eb Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 19 Oct 2023 14:17:03 -0700 Subject: InternPool: fix incomplete hash of pointer values There is this `common` prefix which was not getting passed in all union tags of pointer vals, resumably making InternPool slower for pointer values. --- src/InternPool.zig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/InternPool.zig b/src/InternPool.zig index 36a5c65deb..8cf121896d 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -1228,7 +1228,7 @@ pub const Key = union(enum) { .mut_decl => |x| Hash.hash( seed2, - asBytes(&x.decl) ++ asBytes(&x.runtime_index), + common ++ asBytes(&x.decl) ++ asBytes(&x.runtime_index), ), .anon_decl, @@ -1236,11 +1236,11 @@ pub const Key = union(enum) { .eu_payload, .opt_payload, .comptime_field, - => |int| Hash.hash(seed2, asBytes(&int)), + => |int| Hash.hash(seed2, common ++ asBytes(&int)), .elem, .field => |x| Hash.hash( seed2, - asBytes(&x.base) ++ asBytes(&x.index), + common ++ asBytes(&x.base) ++ asBytes(&x.index), ), }; }, -- cgit v1.2.3