Vou deixar aqui alguns recursos para estudar sobre JIT mais a fundo, o primeiro usa o Lua como exemplo, a primeira linguagem a usar um JIT, bastante simples. Os outros dois são sobre o interpretador de JS do Firefox, uma das implementaçoes de JIT, mais complexas (e eficientes) já feitas.
https://www.cs.cornell.edu/courses/cs6120/2020fa/blog/tracemonkey/
https://static.aminer.org/pdf/PDF/000/286/022/profile_driven_generation_of_trace_samples.pdf