1997-01-07 18:30:22 +00:00
|
|
|
KAFFE v0.7.0 - A JIT and interpreting virtual machine to run Java(tm)* code
|
1996-09-24 00:13:47 +00:00
|
|
|
===========================================================================
|
1996-07-17 03:40:13 +00:00
|
|
|
|
1997-01-07 18:30:22 +00:00
|
|
|
*** STOP PRESS !!! ***
|
|
|
|
*** "Just-in-time" support for the SPARC architecture ***
|
|
|
|
|
1996-09-24 00:13:47 +00:00
|
|
|
This is Kaffe, a virtual machine design to execute Java bytecode.
|
1996-07-17 03:40:13 +00:00
|
|
|
This machine can be configured in two modes. In one mode it operates as
|
|
|
|
a pure bytecode interpreter (not unlike Javasoft's machine); in the second
|
|
|
|
mode if performs "just-in-time" code conversion from the abstract code to
|
|
|
|
the host machine's native code. This will ultimately allow execution of
|
|
|
|
Java code at the same speed as standard compiled code but while maintaining
|
|
|
|
the advantages and flexibility of code independence.
|
|
|
|
|
1996-12-26 09:06:35 +00:00
|
|
|
Running Kaffe
|
|
|
|
=============
|
|
|
|
|
1997-01-07 18:30:22 +00:00
|
|
|
This version of Kaffe is not supplied with a copy of Sun's class library.
|
|
|
|
This can be obtained from Sun's JDK package (from http://www.javasoft.com) or
|
|
|
|
pre-prepaired in kaffe-0.7.0-sun.tgz (from the usual Kaffe ftp sites).
|
|
|
|
This version of Kaffe uses the class library from JDK 1.0.2.
|
|
|
|
|
1996-12-26 09:06:35 +00:00
|
|
|
Before running Kaffe it is necessary to configure the environment.
|
|
|
|
This requires the setting of CLASSPATH, KAFFEHOME and LD_LIBRARY_PATH.
|
|
|
|
For the standard installation these would be defined as follows:
|
|
|
|
|
|
|
|
CLASSPATH=.:/usr/local/share/kaffe/classes.zip
|
|
|
|
KAFFEHOME=/usr/local/share/kaffe
|
|
|
|
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
|
|
|
|
|
|
|
|
A file "ENVIRONMENT" is generated by the configure program which contains
|
|
|
|
a /bin/sh environment setup. This may help you to figure out what to
|
|
|
|
set to what if you alter the standard installation point.
|
|
|
|
|
|
|
|
The source comes with a test program "HelloWorldApp" which can be found
|
|
|
|
in the test directory in the distribution. After installation, run this
|
|
|
|
program from the test directory by typing the following:
|
|
|
|
|
|
|
|
cd <java source directory>/test
|
|
|
|
kaffe HelloWorldApp
|
|
|
|
|
|
|
|
This should load and execute the HelloWorld application. If all is well
|
|
|
|
it will print "Hello World!". As a further test you might like to try
|
|
|
|
compiling the HelloWorldApp source. To do this type the following:
|
|
|
|
|
|
|
|
javac HelloWorldApp.java
|
|
|
|
|
|
|
|
"javac" is a shell script which has been provided to invoke Kaffe on
|
|
|
|
the standard Java compiler. If all is well, the application should compile
|
|
|
|
without incident.
|
1996-09-24 00:13:47 +00:00
|
|
|
|
1997-01-07 18:30:22 +00:00
|
|
|
|
|
|
|
What's new
|
|
|
|
==========
|
|
|
|
|
|
|
|
* "Just-in-time" support for the SPARC architecture.
|
|
|
|
|
|
|
|
* New i386 Data General DG/UX port.
|
|
|
|
|
|
|
|
* Various thread fixes, including addition of timeouts.
|
|
|
|
|
|
|
|
* Lots of bug fixes (see Changelog)
|
|
|
|
|
|
|
|
Who can use Kaffe
|
|
|
|
=================
|
|
|
|
|
|
|
|
This version of Kaffe is distributed under a Berkeley style license.
|
|
|
|
Essentially you can use Kaffe for both personal and commerical purpose, on
|
|
|
|
its own or as part of another package (see license.terms for full details).
|
|
|
|
|
|
|
|
Kaffe Web and FTP sites
|
|
|
|
=======================
|
|
|
|
|
|
|
|
Kaffe is available from various sites. The primary site is:
|
|
|
|
|
|
|
|
ftp://ftp.sarc.city.ac.uk/pub/kaffe/
|
|
|
|
|
|
|
|
Kaffe mailing lists
|
|
|
|
===================
|
|
|
|
|
|
|
|
A couple of mailing lists are available for information and discussion of
|
|
|
|
the Kaffe project. There lists are:
|
|
|
|
|
|
|
|
kaffe@sarc.city.ac.uk - General discussions
|
|
|
|
kaffe-announce@sarc.city.ac.uk - Announcements
|
|
|
|
|
|
|
|
To subscribe to these lists send a message containing the word "subscribe"
|
|
|
|
to either:
|
|
|
|
|
|
|
|
kaffe-request@sarc.city.ac.uk
|
|
|
|
kaffe-announce-request@sarc.city.ac.uk
|
|
|
|
|
|
|
|
depending what you are interested in.
|
|
|
|
|
|
|
|
You can also check out the Kaffe related web pages at:
|
|
|
|
|
|
|
|
http://www.tjwassoc.demon.co.uk/kaffe/kaffe.htm
|
|
|
|
|
1996-09-24 00:13:47 +00:00
|
|
|
The state of play
|
|
|
|
=================
|
|
|
|
|
|
|
|
Kaffe should run all non-graphical code which will run on a Java
|
|
|
|
machine. However there are still bugs and plenty of untested native
|
|
|
|
library functions. Some functions which are not currently implemented
|
|
|
|
(most often because I don't understand exactly what they are suppose to
|
|
|
|
do) will simply abort if called. If you can help out on any of these
|
|
|
|
then please do *BUT* remember, this is a clean-room implementation (I
|
|
|
|
have never seen any of Sun's Java source code) and I cannot simply
|
|
|
|
encorporate Javasoft's* code.
|
|
|
|
|
|
|
|
The missing bits
|
|
|
|
================
|
|
|
|
|
|
|
|
Awt
|
|
|
|
---
|
|
|
|
One major missing component from Kaffe is an implementation of AWT. Work
|
|
|
|
on this is being done by others, and their current implementation can be found
|
1997-01-07 18:30:22 +00:00
|
|
|
at ftp://slhp1.epfl.ch/pub/sawt-0.4.2.tar.gz. I don't know what the current
|
1996-12-26 09:06:35 +00:00
|
|
|
status of this work but you can check at http://slhp1.epfl.ch/sawt.html.
|
1996-09-24 00:13:47 +00:00
|
|
|
|
|
|
|
Java.lang & Java.io
|
|
|
|
-------------------
|
|
|
|
Although Kaffe can be used with Sun's classes.zip library, there is work
|
|
|
|
to develop a version of this class library which is Sun's free. This
|
|
|
|
can be found at ftp://ftp.lantz.com/kream/kream-0.01.tgz. Again, I don't
|
|
|
|
know the current status of this work.
|
|
|
|
|
|
|
|
Kaffe and Sun's Java
|
|
|
|
====================
|
|
|
|
|
|
|
|
Kaffe is a clean-room implementation of a virtual machine which can run
|
|
|
|
Java bytecode. It is capable of interpreting code generated by Sun's
|
|
|
|
software but has not been derived from any Sun code. Currently this version
|
|
|
|
utilises Sun's freely available compiled class library but it is hoped
|
|
|
|
that this will be replaced with a freely available version in due time.
|
|
|
|
At the moment it is impossible to validate whether this software is
|
|
|
|
Java compatible(tm) (the test suites are not publically available) and
|
|
|
|
the terms under which this can be claimed are unknown.
|
|
|
|
|
|
|
|
Erm, that's it ....
|
1996-08-02 21:29:58 +00:00
|
|
|
|
1996-07-17 03:40:13 +00:00
|
|
|
Tim Wilkinson
|
1996-10-11 21:56:40 +00:00
|
|
|
<tim@tjwassoc.demon.co.uk>
|
1996-07-17 03:40:13 +00:00
|
|
|
----
|
1996-09-24 00:13:47 +00:00
|
|
|
* Java and Javasoft are registered trademark of Sun Microsystems, Inc.
|