From: Tim Wilkinson (tim@transvirtual.com)
Date: Tue Sep 08 1998 - 20:40:10 EDT
So, after a day burried in the source code of Cygnus' GCJ compiler I can
announce that I ran my first combination compiler/JIT program a few
minutes ago !!!
Okay, it only added two numbers together but it's a start. Actually
because Cygnus are using a derivative of an old verion of Kaffe for
their VM it wasn't too hard to make the necessary changes to the
compiler and Kaffe to allow them to understand each other.
However, it does introduce a few issue I though we should think about.
The most important of these is that all internal references in the
compiled Java code are absolute - that is, no lazily loading of missing
classes, they must either be loaded into the VM already or must be part
of the same shared object. If they are preloaded then they must also
have come from a shared object because they must have various symbols
defines. Essentially this means you can build JIT code on top of
compiled code, compiled code ontop of compiled code, but not compiled
code ontop of JIT code (unless we want to write our own dynamic linker).
I haven't got into the exception structure yet but from conversations
with Cygnus last year this is going to be *very* different from how
Kaffe does things (but I'm sure it can be handled once I work out how it
works).
So, that's the status so far ...
Cheers
Tim
PS. I'll put something on the main list so someone doesn't run off and
do this themselves.
-- Tim Wilkinson Tel: +1 510 704 1660 Transvirtual Technologies, Inc., Fax: +1 510 704 1893 Berkeley, CA, USA. Email: tim@transvirtual.com
This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:56:55 EDT