It's a bit of a micro-optimisation but ASTs are also usually represented fairly sparsely, so processing on bytecode could be much faster due to more efficient cache utilisation etc - some benefits from memory locality and also from bytecode usually being smaller in memory)
(I don't know JSC does it so that could be wrong)
Re:A New Bytecode Format for JavaScriptCore
by pizlonator on Friday June 21, 2019 @03:04PM
(#20245411)
That’s a pretty good reason also.
I have no idea if this is the reason, but it's a possible one.