IonMonkey: Difference between revisions
Jump to navigation
Jump to search
m (→Development) |
mNo edit summary |
||
Line 17: | Line 17: | ||
Currently, IonMonkey is disabled by default. Use '--ion' to enable it. | Currently, IonMonkey is disabled by default. Use '--ion' to enable it. | ||
=Debugging= | |||
A few tools exist to help debug IonMonkey. | |||
*Debug spew, controlled by the environment variable <tt>IONFLAGS</tt>. Set it to <tt>help</tt> to see available options. | |||
*Instruction spew, via setting the environment variable <tt>JMFLAGS</tt> to <tt>insns</tt>. | |||
*[http://java.net/projects/c1visualizer/ c1visualizer] IonMonkey writes a spew file to <tt>/tmp/ion.cfg</tt>, which can be imported into the c1visualizer. It can display a clickable control-flow graph, MIR, LIR, and liveness intervals for LSRA. | |||
*[https://github.com/sstangl/iongraph iongraph] by Sean Stangl, using IonMonkey's JSON spew. |
Revision as of 06:21, 15 August 2011
IonMonkey is the next generation JavaScript JIT 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
- Source code: http://hg.mozilla.org/projects/ionmonkey
- TBPL: http://tbpl.mozilla.org/?tree=Ionmonkey
To get started, see the Build Documentation for SpiderMonkey. Use the '-h' shell option to see all of IonMonkey's options.
Currently, IonMonkey is disabled by default. Use '--ion' to enable 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.