Links that might be of interest to the implementers

13 views
Skip to first unread message

Colin Fleming

unread,
Mar 11, 2008, 7:21:40 PM3/11/08
to Avian
Hey all,

Some links here that might be of interest to those of you implementing
Avian. Sounds like the roadmap contains a lot of JIT work, there's a
really interesting post by the implementer of LuaJIT here:

http://lua-users.org/lists/lua-l/2008-02/msg00051.html

where he talks about tamarind tracing. Another blogger who writes
about it a lot is Chris Double (http://www.bluishcoder.co.nz).

Looks interesting, and the LuaJIT 2 results are really impressive! I'm
not sure how much of a win it is for Java (statically typed), but if
you're looking to provide runtime support for other languages it could
be excellent. Interesting stuff, anyway.

Cheers,
Colin

Joel Dice

unread,
Mar 11, 2008, 11:40:10 PM3/11/08
to Avian
Hi Colin.

Thanks for the links. Regardless of whether trace-based compilation is
right for Avian, it's something I definitely want to learn more about.

Anyway, based on the papers Mike references, it certainly looks like this
technique is suitable for Java. Here's a quote from one of them that
stands out to me:

"We have built a prototype just-in-time compiler based on our new
compilation method. In this paper, we present benchmarks showing that our
compiler generates code that is almost a s good as that generated by Sun's
Java HotSpot compiler. The latter is a CFG based compiler that is several
orders of magnitude larger and slower and is a mature product developed by
a large team of programmers over several years. Our compiler is a research
prototype developed by a single graduate student in under a year."

(http://www.ics.uci.edu/~franz/Site/pubs-pdf/ICS-TR-06-16.pdf)

I haven't read the rest of the paper yet to see how they back that up, but
I'm eager to do so.

As for Avian, I've already made enough progress on a new compiler that I
intend to follow though on it. My main goal at this point is to have a
compiler that supports various architectures equally well, and I think the
work I'm doing is the quickest way to achieve that. Later, when we've
proven we can generate decent code on both x86 and PowerPC, we can use
that as a baseline for future improvements. Those two architectures are
different enough that supporting both properly will help us avoid making
design decisions that might make future ports difficult.

Colin Fleming

unread,
Mar 13, 2008, 11:43:10 AM3/13/08
to Avian
Hey Joel,

Nice one, I'll have to check out that paper, it sounds pretty
impressive. The trouble is, there's just too much interesting stuff to
learn about...

Cheers,
Colin
Reply all
Reply to author
Forward
0 new messages