None
EN
Higgs: My New Tracing JIT for JavaScript
[]
Pointers Gone Wild
There is no need to have compiler support for all language features from the start; the tracing JIT can support compiling only a limited subset of opcodes in traces at first. Presumably, in a compiler which uses type information to optimize traces, it would be very easy to decide that a trace needs to be invalidated to undo some optimization, and have execution fall back to the interpreter. When compiling traces, the JIT compiler will make use of this oracle to produce highly optimized code with far fewer guards than would otherwise be possible.