[kaffe] Overview documentation of Kaffe
Michael Franz
mvfranz at gmail.com
Fri Jan 21 20:44:54 PST 2005
I have started to put together some documentation on Kaffe. It is not
much but I would like to pass it along to the list. I hope to expand
it soon. I started with some stuff off of the website and added
information I have cleamed from other locations (such as sablevm and
amazon).
Comments welcome.
Michael
Kaffe
=====
This is an introduction to Kaffe. Kaffe is a clean room implementation of the
Java virtual machine, plus the associated class libraries needed to provide a
Java runtime environment. The Kaffe virtual machine is free software, licensed
under the terms of the GNU General Public License.
Kaffe has three different execution engines. A pure interepter (intrp) and two
different just-in-time compilers, JIT and JIT3. Each execution engine follows
a common architecture and are easily swapable (at compile time only).
Implementation
--------------
Kaffe, like other byte code interpreters is a stack based interpreter.
It follows
the standard method of reading in the byte code and then interpreting
each opcode
in an infinate loop. Execution only exits the loop when ****
something here ****
The definition of the opcodes (Java has 255 codes, for some reason
opcodes 186 is
not used) is in the kaffe.def file. This expands to elements of a
switch statement
that contain the code to execute for each JVM opcode.
More information about the kaffe
mailing list