JaegerMonkey Adds Fuel to Firefox
Join the DZone community and get the full member experience.Join For Free
Make the transition to Node.js if you are a Java, PHP, Rails or .NET developer with these resources to help jumpstart your Node.js knowledge plus pick up some development tips. Brought to you in partnership with IBM.
Image Source: Maximim PC
Mozilla developer David Anderson says this performance pitfall is unacceptable. In response, the Firefox developers have created JaegerMonkey, which is a method JIT compiler that provides inline threading for SpiderMonkey. Inline threading is just a baseline whole-method JIT that does dynamic-language-JIT-oriented optimizations (e.g. PICs and specialization of constant operands) and doesn't perform many traditional compiler optimizations. Anderson says TraceMonkey and Jaeger will be tightly integrated to combine the concepts of tracing and whole function conversion. First JaegerMonkey will convert functions into generic assembler code. Then if it detects any loops, it will send them to TraceMonkey for further optimization. If it doesn't detect loops, then it will bypass the slow interpreter and directly execute the code.
You can get the JaegerMonkey source code from this makeshift repository.
Opinions expressed by DZone contributors are their own.