Changes

Jump to: navigation, search

JavaScript:TraceMonkey

42 bytes added, 22:47, 1 November 2008
m
copy‐editing for punctuation and capitalization
== About TraceMonkey ==
TraceMonkey adds native code compilation to Mozilla’s JavaScript engine (known as SpiderMonkey). It is based on a technique developed at UC Irvine called [http://www.ics.uci.edu/%7Efranz/Site/pubs-pdf/ICS-TR-06-16.pdf “trace trees“trees”], and building on code and ideas shared with the Tamarin Tracing project. The net result is a massive speed increase both in the browser chrome and web page Web‐page content.
== Playing with TraceMonkey ==
TraceMonkey is currently available and ''enabled by default'' for testing in [ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/ nightly builds]. If you want to modify the types of JavaScript that are executed using TraceMonkey:
* open a new tab;* type '''about:config''' and hit enter;* read the warning and heed its wisdom;* enter '''jit''' in the filter field;* change the value of '''javascript.options.jit.content''' to enable (true) and disable (false) TraceMonkey for JavaScript in web Web content;* change the value of '''javascript.options.jit.chrome'''to enable (true) and disable (false) TraceMonkey for JavaScript in XUL/chrome.
If you experience instability, please [http://bugzilla.mozilla.org file a bug] and reference any crash report ID that might be relevant.
== Hacking on TraceMonkey ==
 
The TM tree is located at http://hg.mozilla.org/tracemonkey.
We are currently still in rapid development rapid‐development mode. Our commit policy is as follows: "If if you are confident you know what you are doing, push now and prepare to answer questions later if you break the tree." If you have commit access to hg.mozilla.org, feel free to commit any patch you feel is sensible. Even white-space cleanupwhite‐space clean‐up, additional comments or general code cleanupclean‐up/naming consistency naming‐consistency changes are welcome.
Run trace-test.js and all benchmarks in t/* before you commit. Commits that break any of these tests are allowed if sensible, but please let everyone know why you break what and what has to happen to fix it.
== TraceMonkey Tasks ==
 
Beta 1
** fuzzer bugs fixed
** SSE opts
** PPC nanojit
** built-in built‐in reg usage
== Security Review ==
 
[[TraceMonkeySecurityReviewForm]]
17
edits

Navigation menu