The first step is to get the runtime and interpreter running. Next step is to bring the jit up.
Chakra is the hybrid engine where we have the interpreter, simple jit and full jit. The interpreter is the one which does all the profile data collection. Profile data is required to get the quality jit code.
Hi! Thanks for explanation and another cool product!
One question that just came to my mind regarding this: Have you thought about a configurable/modular build where this interpreter/simple jit/full jit can be switched? Or is this perhaps already there?
I can think of some use cases where it would be interesting to build a modern and full featured JS engine in interpreter-only mode. E.g. to integrate it into platforms which don't allow JIT (iOS), to reduce the footprint or the attack surface. Or to be able to port it the other platforms without much effort - in the embedded domain there are still other processors than x86 and arm and other OSes than Windows, Linux and OSX floating around.
Declaimer: I work for Chakra team.