LIR compiler: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 21: Line 21:
* Need stub code (or docs) for pieces of Nanojit that are provided by the application, like <code>MMgc</code> and <code>VerboseWriter::formatGuard</code>.
* Need stub code (or docs) for pieces of Nanojit that are provided by the application, like <code>MMgc</code> and <code>VerboseWriter::formatGuard</code>.
* jorendorff doesn't understand guards well enough.  Need to figure out what side exits should actually do.
* jorendorff doesn't understand guards well enough.  Need to figure out what side exits should actually do.
* If this tool is to be used cross-platform for testing, it would really help to be able to say <code>x = ld p[6 * sizeof intptr_t]
* Many opcodes are not well understood, e.g. <code>ji</code> and <code>xi</code>.

Revision as of 22:19, 3 February 2009

A project to write a Nanojit-based tool that reads a file containing Nanojit LIR instructions and spits out a .s file that you can then feed to your platform's assembler (if you happen to be on the right platform, anyway).

Contacts: paritosh1010 and Jason Orendorff (jorendorff at mozilla dot com)

Goal 0

Write, compile and link a small C++ program with the Nanojit library.

Goal 1

Get a program to successfully feed this input to a nanojit::LirWriter.

   start
   two = int 2
   twoPlusTwo = add two, two
   ret twoPlusTwo


Open issues

  • Need stub code (or docs) for pieces of Nanojit that are provided by the application, like MMgc and VerboseWriter::formatGuard.
  • jorendorff doesn't understand guards well enough. Need to figure out what side exits should actually do.
  • If this tool is to be used cross-platform for testing, it would really help to be able to say x = ld p[6 * sizeof intptr_t]
  • Many opcodes are not well understood, e.g. ji and xi.