1 Commits

Author SHA1 Message Date
Sylpheed RE agent
e9c06e2e87 tools: an ISL call-site dumper that carries the operands and the neighbours
`isl.py --calls` scans on the encoding, so it can see that a call happened but
not what it was called with -- the arguments live in the `local[]` staging of
the preceding instructions, not in the call. Naming a built-in needs those, and
it needs the calls either side, because the fixed idioms are what identify a
primitive (`116 -> 101 -> 100 -> 124 -> 93` is a phase teardown, and that is how
101 was named).

So this walks each stage's whole code region linearly, tracking both staging
forms, and prints stage/offset/id/operands plus the neighbouring call ids.
The linear walk is safe rather than assumed: it lands on every call site the
independent encoding scan finds, 2846/2846 in Stage 02.

`--craft` cross-tabs the operand against the squadron's craft type through
`unitgroup.py --all`, which is the test that separated built-in 15's classes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
2026-08-26 03:43:31 +00:00