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

Jay Freeman (saurik) saurik@saurik.com
Wed, 18 Jul 2001 22:50:23 -0500


From what I've seen (which is mainly based on the slides from the Java
Grande 2001 presentation, obviously not that much, haven't gone into the
papers Intel has presented yet), this isn't the case.  There _is_ a simple
expander "with a few optimizations thrown in", but this is the fast code
generator that is used for the initial pass.  This is for initial usage on
non-critical code sections and for profiling.  Sections that get marked for
recompilation then get passed to a full optimizing JIT that goes through
your tranditional stages (including inlining and register allocation), using
the profiling data where appropriate (likely to determine what variables
should be put into registers, things like that).  The slides ( available
from the files section of their source forge project:
http://www.sourceforge.net/projects/orp/ ) go step-by-step through an
example compilation.

If you're looking at the source code, are you sure you're looking at the
right file?

Jay Freeman (saurik)

----- Original Message -----
From: "Miguel de Icaza" <miguel@ximian.com>
To: "Tom" <tom7ca@yahoo.com>
Cc: "Jeffery von Ronne" <jronne@ics.uci.edu>; "Alex Graveley"
<alex@ximian.com>; <mono-list@ximian.com>
Sent: Monday, July 16, 2001 6:04 PM
Subject: Re: JVM misconceptions (Re: [Mono-list] Re: can you explain what
you mean?)

> 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.
> Miguel.