codegen: SACK analysis and new linearizer #89
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Supersedes #54 since the history of that was far too messy
Original
This PR upgrades SKA to SACK, which is capable of discerning which knowledge is actually necessary to fix called nock formulas for direct calls, and use this information as the battery label for generated code.
This avoids the TMI problem when using SKA to build cell structures in accumulators, and the battery discovery problem which required several ad-hoc heuristics to discover stable batteries for dynamic cores such as Arvo, vanes, gall agents, threads, generators, and dojo expressions. It also allows us to directly derive "cold state"[1] for jetting from fast hints, and to statically link jets using no more information than is already used for the current vere jetting system.