diff options
| author | Taylan Kammer <taylan.kammer@gmail.com> | 2026-06-01 19:47:03 +0200 |
|---|---|---|
| committer | Taylan Kammer <taylan.kammer@gmail.com> | 2026-06-01 19:47:03 +0200 |
| commit | 9ce0aa66cedc985322e06db4bac130910610c113 (patch) | |
| tree | f341ce6a25cd9f941c854cc009c9f4b34bfe6aee /src | |
| parent | a827524c0e15228ea003b4eca460e085f2086582 (diff) | |
IstrSet: Little fix to honor bucket_sectors.
Diffstat (limited to 'src')
| -rw-r--r-- | src/zisp/gc/IstrSet.zig | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/zisp/gc/IstrSet.zig b/src/zisp/gc/IstrSet.zig index d6353a0..a97c258 100644 --- a/src/zisp/gc/IstrSet.zig +++ b/src/zisp/gc/IstrSet.zig @@ -191,10 +191,11 @@ fn resize(self: *Set, alloc: Alloc) !void { const new_mask = new_bc - 1; // Make sure we're not in the middle of a cluster - var idx = for (old_bs, 0..) |_, idx| { - const s0 = sector(old_bs, idx, 0); - const s1 = sector(old_bs, idx, 1); - if (s0.hash == 0 or s1.hash == 0) break (idx +% 1) & old_mask; + var idx = b: for (old_bs, 0..) |_, idx| { + inline for (0..bucket_sectors) |s_idx| { + const sec = sector(old_bs, idx, s_idx); + if (sec.hash == 0) break :b (idx +% 1) & old_mask; + } } else unreachable; // Resize strategy guarantees empty slots const idx_last = (idx -% 1) & old_mask; |
