diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-01-26 15:51:33 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-26 15:51:33 -0800 |
| commit | b96fb858c88b97617e6fa0e3c6966a8e900caf7f (patch) | |
| tree | e1729e12109e85e1ed2d4b7eb06187206e9bd8d3 /src/Compilation.zig | |
| parent | 8a0429e885489eac497aa97fdfcaaa1befb2b6d4 (diff) | |
| parent | 06d8bb32e3edfb4a26c6d3ecdf198574f4bd3f87 (diff) | |
| download | zig-b96fb858c88b97617e6fa0e3c6966a8e900caf7f.tar.gz zig-b96fb858c88b97617e6fa0e3c6966a8e900caf7f.zip | |
Merge pull request #18654 from mlugg/incremental-the-second
InternPool: introduce TrackedInst to prepare for incremental compilation
Diffstat (limited to 'src/Compilation.zig')
| -rw-r--r-- | src/Compilation.zig | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 6dfd46796d..237f22df58 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -2802,6 +2802,7 @@ const Header = extern struct { extra_len: u32, limbs_len: u32, string_bytes_len: u32, + tracked_insts_len: u32, }, }; @@ -2809,7 +2810,7 @@ const Header = extern struct { /// saved, such as the target and most CLI flags. A cache hit will only occur /// when subsequent compiler invocations use the same set of flags. pub fn saveState(comp: *Compilation) !void { - var bufs_list: [6]std.os.iovec_const = undefined; + var bufs_list: [7]std.os.iovec_const = undefined; var bufs_len: usize = 0; const lf = comp.bin_file orelse return; @@ -2822,6 +2823,7 @@ pub fn saveState(comp: *Compilation) !void { .extra_len = @intCast(ip.extra.items.len), .limbs_len = @intCast(ip.limbs.items.len), .string_bytes_len = @intCast(ip.string_bytes.items.len), + .tracked_insts_len = @intCast(ip.tracked_insts.count()), }, }; addBuf(&bufs_list, &bufs_len, mem.asBytes(&header)); @@ -2830,6 +2832,7 @@ pub fn saveState(comp: *Compilation) !void { addBuf(&bufs_list, &bufs_len, mem.sliceAsBytes(ip.items.items(.data))); addBuf(&bufs_list, &bufs_len, mem.sliceAsBytes(ip.items.items(.tag))); addBuf(&bufs_list, &bufs_len, ip.string_bytes.items); + addBuf(&bufs_list, &bufs_len, mem.sliceAsBytes(ip.tracked_insts.keys())); // TODO: compilation errors // TODO: files |
