IonMonkey: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
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.
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=
=Planning=

Revision as of 19:19, 7 November 2011

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

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.