[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

Comments welcome.



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


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