Re:PHP 8 to Add a JIT
by viraptor on Sunday March 31, 2019 @04:44PM
(#19538258)
You can't just wave away the impact of having eval though. Just the fact that it exists means you need to keep around some supporting state like variable names. You can't do full constant folding and eliminate all intermediate steps for example if there a chance a runtime-created code will reach into your frame and want them back.
[ Parent
| on HN ]
eval() is scoped to the current block. If you even just ignored JITing any function with eval() in it then you'd still get quite far.
Re:PHP 8 to Add a JIT
by rujuladanh on Sunday March 31, 2019 @04:58PM
(#19538340)
Similar things are done by JS engines and others nowadays. They optimize and keep the original stuff in case assumptions stop holding.