aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-10-30 18:33:06 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-10-30 23:43:53 -0700
commitf2dcfe0e408e1abf0c75293d75c4d92aed033eae (patch)
treeac640108ecaa7f43b5c61cc2c46b744093e4926e /src/Compilation.zig
parentf5ade5e2071fecf6b8a0b025b6ff9581082b9b5c (diff)
downloadzig-f2dcfe0e408e1abf0c75293d75c4d92aed033eae.tar.gz
zig-f2dcfe0e408e1abf0c75293d75c4d92aed033eae.zip
link.File.Wasm: parse inputs in compilation pipeline
Primarily, this moves linker input parsing from flush() into the linker task queue, which is executed simultaneously with the frontend. I also made it avoid redundantly opening the same archive file N times for each object file inside. Furthermore, hard code fixed buffer stream rather than using a generic stream type. Finally, I fixed the error handling of the Wasm.Archive.parse function. Please pay attention to this pattern of returning a struct rather than accepting a mutable struct as an argument. This ensures function-level atomicity and makes resource management straightforward. Deletes the file and path fields from Archive and Object. Removed a well-meaning but ultimately misguided suggestion about how to think about ZigObject since thinking about it that way has led to problematic anti-DOD patterns.
Diffstat (limited to 'src/Compilation.zig')
0 files changed, 0 insertions, 0 deletions