Thomas Anderson added the comment:
IIRC, some transpilers for functional languages create deeply nested code. In
particular for things like haskell's do notation.
Anyway, when I wrote the PR, it was initially to reduce the frame size. Then
once I had dynamic block stack sizing worki
New submission from Thomas Anderson :
The runtime pushes a frame block in SETUP_FINALLY, so the compiler needs to
account for that, otherwise the runtime block stack may overflow.
--
components: Interpreter Core
messages: 388696
nosy: tomkpz
priority: normal
severity: normal
status
Thomas Anderson added the comment:
> Reducing the size of the frame object seems like a worthwhile goal, but
> what's the point in increasing the maximum block stack?
No point for humans, but it may be useful for code generators.
--
___
New submission from Thomas Anderson :
Currently the block stack size is hardcoded to 20. Similar to how the value
stack is dynamically sizable, we should make the block stack dynamically
sizable. This will reduce space on average (since the typical number of blocks
for a function is well