Skip to content

Track recursion on LClosure not Proto. - #158

Merged
ltratt merged 1 commit into
ykjit:mainfrom
ltratt:recursion_on_lclosure
Sep 2, 2026
Merged

Track recursion on LClosure not Proto.#158
ltratt merged 1 commit into
ykjit:mainfrom
ltratt:recursion_on_lclosure

Conversation

@ltratt

@ltratt ltratt commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

This more accurately reflects "this is a recursive function" (using Proto overapproximates what we want). The tricky part of this commit is that, implemented naively, it causes cl to live longer which causes more expensive deopt (etc). Fortunately we can move the tracking ifs earlier in the interpreter, avoiding this problem.

This more accurately reflects "this is a recursive function" (using
`Proto` overapproximates what we want). The tricky part of this commit
is that, implemented naively, it causes `cl` to live longer which causes
more expensive deopt (etc). Fortunately we can move the tracking `if`s
earlier in the interpreter, avoiding this problem.
@ltratt
ltratt enabled auto-merge September 2, 2026 13:22
@ltratt
ltratt added this pull request to the merge queue Sep 2, 2026
Merged via the queue into ykjit:main with commit 40c09a4 Sep 2, 2026
2 checks passed
@ltratt
ltratt deleted the recursion_on_lclosure branch September 2, 2026 15:01
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