Commit fa212fd
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 33fcbbd commit fa212fd
1 file changed
Lines changed: 191 additions & 103 deletions
0 commit comments