Skip to content

perf(vm): calls as jumps, the call path of the loop alone - #42

Merged
dylan-sutton-chavez merged 1 commit into
mainfrom
calls-pr
Oct 20, 2026
Merged

dylan-sutton-chavez merged 1 commit into
mainfrom
calls-pr

Conversation

@dylan-sutton-chavez

Copy link
Copy Markdown
Owner

Every call becomes a jump inside one block of sections, and recursion turns a shared state with TurnR/UnturnR and undoes it. The nested loop and the generic frames are gone.

  • Corpus: geomean 0.867 against main 9b26eb5.
  • Bench: -12.2 % instructions. Approved slower cases: class P, class R, fib and t(label) in instructions, plus 67 short programs in memory (the cost of lowering a hot function).
  • Release, debug, lang, clippy, make check, test-cli with consistency and test-skill pass.

@dylan-sutton-chavez
dylan-sutton-chavez merged commit 0cc2a3c into main Oct 20, 2026
16 checks passed
@dylan-sutton-chavez
dylan-sutton-chavez deleted the calls-pr branch October 20, 2026 21:41
dylan-sutton-chavez added a commit that referenced this pull request Oct 20, 2026
erge pull request #42 from dylan-sutton-chavez/calls-pr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant