GraalVM does precisely that for dynamic languages (with really really impressive speeds, graaljs’s performance can be in the same ballpark as v8 when it comes to peak performance).
But as far as I know, there Java re-implementation on top of it uses byte-codes.