JVM misconceptions (Re: [Mono-list] Re: can you explain what you mean?)

Soeren Sandmann sandmann@daimi.au.dk
17 Jul 2001 16:57:01 +0200


Miguel de Icaza <miguel@ximian.com> writes:

> I have only access to kaffe and ORP as JITers, and I am surprised
> that they are basically macro expanding JITer with a few
> optimizations thrown in.  As I said, I thought this was a property
> of the byte codes rather than a property of Kaffe.

It isn't.  Basically, from a technical standpoint, every free Java
implementation sucks.  The bytecode formats in the JVM and in CIL/CLR
are very similar designs - they are both essentially linearized
versions of parse trees.

> That being said, what I am working on is to write a traditional
> instruction selector for our JITer that should bring a lot of
> performance, for about the same ammount of work.

Good luck, you will need it.  Making an optimizing JIT work correctly
and efficiently in the presence of threads and garbage collection is
going to be difficult.

For the garbage collector, you may find this paper relevant:

   http://www.sun.com/research/self/papers/write-barrier.html

For synchronization, this paper may be relevant:

   http://citeseer.nj.nec.com/bacon98thin.html