I have learnt about how V8 of chrome browser works in an abstract view from this webpage https://blog.bitsrc.io/how-does-javascript-really-work-part-1-7681dd54a36d
the interpreter(ignition) converts it into bytecode... but then who will convert this bytecode to machine code ?
It doesn't turn the bytecode into machine code.
the Ignition interpreter takes the Abstract syntax tree and produce a bytecode from it.
after the bytecode has been produced the Ignition interpreter it start to execute those bytecodes directly.
i know it's a bit confusing when you hear that the interpreter produce a bytecodes and also execute those bytecodes.
but that's actually what the Ignition interpreter does. it's not only executing it's also producing bytecodes so don't get confused by the name.
for example we have the following bytecode
LdaSmi 5
when the Ignition sees that bytecode it will actually call a function from the engine which handles that instruction.