6ff38f52bb8a3d765a99a4eceba3f7413b18289d
Phase 0 critical lib/ww/ gap (frontend used by BOTH cstage + wwstage, not covered by phase0-mapper's selfhost/cmd/ audit). 5 typed-struct amalloc sites + 1 γ pointer-array + 1 α byte buffer: - lib/ww/ast.ww newnode (node, 20 fields, was 208u64 over-sized) - lib/ww/typ.ww newtype (tinfo, 13 fields, was 112u64 over-sized) - lib/ww/typ.ww tinfocachebind (tinfocacheent, was 32u64 sizelint-ok) - lib/ww/sym.ww newscope (scope, 6 fields, was 64u64) + buckets γ - lib/ww/sym.ww scopedefineinmodule (sym, 10 fields, was 112u64) - lib/ww/parse/parse.ww joindotted (α []u8 + .ptr extract) Retires 4 rule-7 over-sized amalloc workarounds plus a #36 tinfocacheent sizelint-ok. WHY-comments documenting the workarounds are dropped (no longer applicable — alloc(T{...})! sizes from the type table). ast.ww newnode's `fval = 0: f64` carries a 3-line WHY comment naming the 990_selfhost TK_FLOAT-count diff probe (lex.ww:382 precedent for the same cast pattern). Bare `0.0` here would shift the dump-diff token-input scope and break 990's byte-identity probe. β grow loops in lib/ww/lex/lex.ww:570,592 deferred — separate sweep. Verified 132/132 + 995_self_rebuild byte-identity. Net -63 lines.
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%