refactor: compiler.sx imports only std/list.sx, not the whole std barrel
compiler.sx needs only `List` (string is a builtin), so import the std/list.sx part-file instead of std.sx. Its standalone transitive footprint drops from ~16k to ~50 lines of IR. Enabled by core.sx now self-declaring its libc, so list.sx → core.sx resolves without the std assembly. Regenerates 40 .ir snapshots: compiler.sx sits in the std import graph (std → cli → build → compiler), so narrowing its import shifts the registration order in every std program, renumbering LLVM symbol suffixes (@foo.N → @foo.N+1) and adding a redundant `declare void @out` (LLVM dedups it). Verified the diffs are purely that — no .exit/.stdout/.stderr changed, no instruction/type/constant changed — and the full suite is green (817/0).
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -7,7 +7,13 @@
|
||||
// driver (a callback registered via `set_post_link_callback`), which always runs
|
||||
// on the comptime VM (`core.invokeByFuncId`) — the VM, unlike the legacy
|
||||
// interpreter, can allocate/grow the `List`s the driver builds (issue 0141).
|
||||
#import "modules/std.sx";
|
||||
//
|
||||
// Only `List` is needed here (`string` is a builtin), so import just the List
|
||||
// part-file, not the whole std barrel — keeps compiler.sx's transitive graph
|
||||
// small (its standalone import drops from ~16k to ~50 lines of IR). Works
|
||||
// because core.sx self-declares its `libc`, so list.sx → core.sx resolves
|
||||
// standalone.
|
||||
#import "modules/std/list.sx";
|
||||
|
||||
// The C companion object files for this build (`#import c { #source ... }`,
|
||||
// compiled to `.o`) and the `#library` link names. The sx driver passes them to
|
||||
|
||||
Reference in New Issue
Block a user