|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: 1.8.8||January 2012||Firefox 10.0|
|Old version, no longer supported: 17||November 2012||Firefox 17.0|
|Old version, no longer supported: 24||September 2013||Firefox 24.0|
|Old version, no longer supported: 31||July 2014||Firefox 31.0|
|Old version, no longer supported: 38||May 2015||Firefox 38.0|
|Old version, no longer supported: 45||March 2016||Firefox 45.0|
|Old version, no longer supported: 52||March 2017||Firefox 52.0|
|Current stable version: 60||May 2018||Firefox 60.0|
Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your Digital Marketing and Technology knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.Visit defaultLogic's partner sites below: