summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2026-06-01 19:47:03 +0200
committerTaylan Kammer <taylan.kammer@gmail.com>2026-06-01 19:47:03 +0200
commit9ce0aa66cedc985322e06db4bac130910610c113 (patch)
treef341ce6a25cd9f941c854cc009c9f4b34bfe6aee
parenta827524c0e15228ea003b4eca460e085f2086582 (diff)
IstrSet: Little fix to honor bucket_sectors.
-rw-r--r--src/zisp/gc/IstrSet.zig9
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;