Commit b401394
committed
Rewrite manifestJson to execute "stacklessly" inside evaluate()
This gets rid of the mutual recursion between manifestJson() and
evaluate(), turning the manifestJson processing into a part of the
interpreter's main loop. It should remove one avenue for native
stack overflows during execution.
The Interpreter needed to be able to convert things to JSON anyway,
as this is the behaviour of string coercion (for string concatenation),
and also the behaviour when using the 'error' operator/statement.1 parent bb8ed3d commit b401394
1 file changed
Lines changed: 191 additions & 101 deletions
0 commit comments