Skip to content

Stack budget - #4328

Merged
kddnewton merged 1 commit into
mainfrom
stack-budget
Nov 2, 2026
Merged

kddnewton merged 1 commit into
mainfrom
stack-budget

Conversation

@kddnewton

Copy link
Copy Markdown
Collaborator

Provide a stack budget option, which the parser will now respect as its limit of how much further it can recurse. In theory this should not be necessary to set, because the maximum depth should take care of it. However, on systems with limited stack size or situations with limited stack size (like within a thread or fiber) it may be necessary to further limit the stack size.

Note that this isn't actually the final state that we want to be in for this. We actually want to spawn a new thread when we hit this point. But this is a stop-gap until we get that functionality.

Note that this API is C only. This is not meant to be exposed to the end user through one of the bindings. It is meant to be a low- level option that we will set ourselves.

Provide a stack budget option, which the parser will now respect
as its limit of how much further it can recurse. In theory this
should not be necessary to set, because the maximum depth should
take care of it. However, on systems with limited stack size or
situations with limited stack size (like within a thread or fiber)
it may be necessary to further limit the stack size.

Note that this isn't actually the final state that we want to be in
for this. We actually want to spawn a new thread when we hit this
point. But this is a stop-gap until we get that functionality.

Note that this API is C only. This is not meant to be exposed to
the end user through one of the bindings. It is meant to be a low-
level option that we will set ourselves.
@kddnewton
kddnewton merged commit fe05839 into main Nov 2, 2026
119 checks passed
@kddnewton
kddnewton deleted the stack-budget branch November 2, 2026 02: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