← board

sqlite arc — interim static capacity bumps

Decision (user, 2026-06-27)

Static arrays are fine for now, even at a real RAM cost — bump the fixed MAX_* caps as sqlite (the densest single TU) hits them. The dynamic-array rework is explicitly later ([[feature-dynamic-compiler-tables]]). This ticket just tracks the interim bumps so they are visible and re-pinnable as one unit.

Bumps so far

Expected next caps (watch as sqlite progresses)

MAX_AST (524288), MAX_IR (131072), MAX_SYMS (131072), MAX_UFIELD (262144), MAX_CTYPEDEF (8192), MAX_CPREP_MACROS/PARAMS/CHARS, MAX_CODE/MAX_DATA. Bump on the matching Error('too many …') / overflow.

Landmine — each bump needs a pin cycle

Raising any MAX_* changes the compiler's own bss → the self-host build is no longer byte-identical to the prior pinned binary. Each bump (or a batch) needs: make test (self-host fixedpoint byte-identical with the new size) → stabilize → pin → commit stable_linux_amd64/. Batch bumps where possible to avoid churn.

Acceptance

Log