This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Looking for compiler expertise: Mono and Novell.

Hello guys,

    We are looking for a seasoned developer with experience in compiler
optimization to work on the Mono code generation engine.  

    Mono is an open source implementation of the Microsoft .NET
Framework, and like Java, comes with a virtual machine.  We have built a
code generation engine that can compile the .NET intermediate language
to native code.  It is used both in a just-in-time compiler fashion, or
a code pre-compiler (for improving the startup time of applications).

    The engine is fairly good today, we can not complain, but there are
plenty of areas of improvements, and plenty of research to be adapted to

    Our runtime engine uses two internal intermediate representations: a
medium-level one, which is a tree that is created from the original
bytecodes, and a low-level one, which is a list of instructions and is
register based.  We think its fairly clean.

    The runtime has an SSA framework, and a few simple SSA-based
optimizations, but we want to leverage this framework and implement more
advanced optimizations like array bounds check removal, and other
advanced optimizations found on Java engines like ORP and Jikes.

    There are other areas that need help: we have an instruction
schedule on its early stages for PPC machines, but it needs to be made
more general, register allocation could use some improvements, and more
advanced features for the runtime are on our extensive todo list.

    The job would be working for Novell, and we are pretty flexible on
location: you can work in pijamas from your living room as long as you
can write fantastic and maintainable code.  If you prefer, you can work
from a Novell office close to your location (if your country has one). 
The code is licensed under the terms of the GNU LGPL, but we do
relicense it for proprietary use, so you have to be ok with that.  

    Drop me an email if you are interested.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]