Papers that inspire Exupery

Bryce Kampjes bryce at kampjes.demon.co.uk
Mon Jul 5 21:35:22 UTC 2010


On Mon, 2010-07-05 at 21:15 +0200, Mathieu Suen wrote:
> Hi Bryce,
> 
> I would like to know if you can provide us a list a papers on Jit.
> Anything that inspire/explain what your doing in Exupery.

http://wiki.squeak.org/squeak/5792

The short answer is it's an attempt build on the insights from Holzle's
work on Self compilation and allow type feedback to be used with solid
optimization.

Good inlining and type information through type feedback opens the door
to serious optimization but standard type feedback VMs rely on very fast
compilers which don't have time to optimize well.

> And also what do you think of stack base VM vs. register base VM?
> I am asking because in smalltalk I am wondering if it worth register base VM.

My view is the bytecode should be stack based but the JIT register
based. It's easy to do very good register allocation across trees (i.e.
stack based). 

Trees are a convenient structure to work with and a stack based bytecode
is just a linear representation of a tree.

If you're optimizing heavily it doesn't matter too much what
representation you choose as you'll transform it through several
representations during compilation. If you're optimizing quickly and
simply trees are convenient.

Bryce



More information about the Exupery mailing list