|Developer(s)||Mozilla Foundation / Mozilla Corporation|
|Platform||IA-32, x86-64, ARM, MIPS, SPARC|
Instead of compiling whole functions, TraceMonkey was a tracing JIT, which operates by recording control flow and data types during interpreter execution. This data then informed the construction of Trace Trees, highly specialized paths of native code.
Improvements to JägerMonkey eventually made TraceMonkey obsolete, especially with the development of the SpiderMonkey type inference engine. TraceMonkey is absent from SpiderMonkey from Firefox 11 onward.
JägerMonkey, internally named MethodJIT, was a whole-method JIT compiler designed to improve performance in cases where TraceMonkey could not generate stable native code. It was first released in Firefox 4 and eventually entirely supplanted TraceMonkey. It has itself been replaced by IonMonkey.
The difference between TraceMonkey and JägerMonkey JIT techniques and the need for both was explained in a hacks.mozilla.org article. A more in-depth explanation of the technical details was provided by Chris Leary, one of SpiderMonkey's developers, in a blog post. More technical information can be found in other developer's blogs: dvander, dmandelin.
|Version||Release date||Corresponding ECMAScript version||Browser version||Added functionality|
|Old version, no longer supported: 1.0||March 1996||Netscape Navigator 2.0|
|Old version, no longer supported: 1.1||August 1996||Netscape Navigator 3.0|
|Old version, no longer supported: 1.2||June 1997||Netscape Navigator 4.0 - 4.05|
|Old version, no longer supported: 1.3||October 1998||ECMA-262 1st + 2nd edition||Netscape Navigator 4.06-4.7x|
|Old version, no longer supported: 1.4||Netscape Server|
|Old version, no longer supported: 1.5||November 2000||ECMA-262 3rd edition||Netscape Navigator 6, Firefox 1.0|
|Old version, no longer supported: 1.6||November 2005||Firefox 1.5||additional array methods, array and string generics, E4X|
|Old version, no longer supported: 1.7||October 2006||Firefox 2.0||iterators and generators, let statement, array comprehensions, destructuring assignment|
|Old version, no longer supported: 1.8||June 2008||Firefox 3.0||generator expressions, expression closures|
|Old version, no longer supported: 1.8.5||March 2011||ECMA-262 5th edition||Firefox 4.0||JSON support|
|Old version, no longer supported: 31||2014||Firefox 31|
|Old version, no longer supported: 38||September 2015||Firefox 38|
|Current stable version: 45||April 2016||Firefox 45|
Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.