IonMonkey: Difference between revisions
Jump to navigation
Jump to search
Lazyparser (talk | contribs) (correct ionmonkey's src path.) |
|||
| Line 12: | Line 12: | ||
*Tracking Bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=650180 Bug 650180] | *Tracking Bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=650180 Bug 650180] | ||
*Source code: [http://hg.mozilla.org/mozilla-central/file/tip/js/src/ | *Source code: [http://hg.mozilla.org/mozilla-central/file/tip/js/src/jit http://hg.mozilla.org/mozilla-central/file/tip/js/src/jit] | ||
To get started, see the [https://developer.mozilla.org/En/SpiderMonkey/Build_Documentation Build Documentation for SpiderMonkey]. Use the '-h' shell option to see all of IonMonkey's options. | To get started, see the [https://developer.mozilla.org/En/SpiderMonkey/Build_Documentation Build Documentation for SpiderMonkey]. Use the '-h' shell option to see all of IonMonkey's options. | ||
Revision as of 01:06, 4 June 2015
IonMonkey is the next generation JavaScript JIT compiler for SpiderMonkey. It is a whole-method JIT with the ability to perform type specialization. It has two goals: a cleanly engineered design that makes future optimization work possible, and excellent performance.
Planning
See Platform/Features/IonMonkey for IonMonkey's planning page.
Design
See IonMonkey/Overview for an overview of the IonMonkey architecture and its files.
Development
- Tracking Bug: Bug 650180
- Source code: http://hg.mozilla.org/mozilla-central/file/tip/js/src/jit
To get started, see the Build Documentation for SpiderMonkey. Use the '-h' shell option to see all of IonMonkey's options.
Currently, IonMonkey is enabled by default for those processor architectures it supports. Use '--disable-ion' to disable it.
Debugging
A few tools exist to help debug IonMonkey.
- Debug spew, controlled by the environment variable IONFLAGS. Set it to help to see available options.
- Instruction spew, via setting the environment variable JMFLAGS to insns.
- c1visualizer IonMonkey writes a spew file to /tmp/ion.cfg, which can be imported into the c1visualizer. It can display a clickable control-flow graph, MIR, LIR, and liveness intervals for LSRA.
- iongraph by Sean Stangl, using IonMonkey's JSON spew.
- Some gdb tricks related to IonMonkey are listed on the Hacking Tips page of spider monkey.