JIT Compilation: Fast (TD) - rust-js/rjs GitHub Wiki

The fast JIT compiler is a JIT compiler that basically generated a compiled version of what the interpreter would execute in interpreted mode. E.g. the interpreter has a case for addition. This implementation pops the top two values off of the stack, calls the JsEnv::add method and pushes the result back onto the stack. The JIT version does the same. There are two advantages to this. First, we don't have to root everything. The native stack itself is rooted, so values stored on there are rooted automatically. Second, execution is direct instead of indirect, so the overhead of the interpreter is removed.