diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-10-30 18:33:06 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-10-30 23:43:53 -0700 |
| commit | f2dcfe0e408e1abf0c75293d75c4d92aed033eae (patch) | |
| tree | ac640108ecaa7f43b5c61cc2c46b744093e4926e /src/Compilation.zig | |
| parent | f5ade5e2071fecf6b8a0b025b6ff9581082b9b5c (diff) | |
| download | zig-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
