Out of curiosity, I found that in v8 implementation JS Bytecode is executed by Interpreter-Assembler and then to CodeAssembly. Why there is an interpreter assembler between bytecode and machine code? Is there a way to translate Interpreter Assembler (I imagine it is a kind of IR) to LLVM ir so that it is a llvm ir representation that is closer to js bytecode.