shuJIT - JIT compiler for Sun JVM/x86
	http://www.shudo.net/jit/
	SHUDO Kazuyuki <shudoh@muraoka.info.waseda.ac.jp>

* What this is

ShuJIT is a Just In Time bytecode compiler (JIT) which
works with Sun Microsystems' Java(tm) Virtual Machine
(JVM) such as JDK and JRE on Intel x86 processors.

* Platforms

Working on the following platforms is confirmed.

- Linux
  - Blackdown JDK 1.2.2 FCS, pgcc 2.95.3, glibc2.1.3 and Linux 2.4.0-test8-pre2
  - JDK 1.1.8v1, pgcc 2.95.3, glibc2.1.3 and Linux 2.4.0-test8-pre2
  - JDK 1.1.7v1a, egcs 1.1.2, libc5.4.38 and Linux 2.0.35

- FreeBSD
  - JDK 1.1.8 (ELF, V1999-11-9), gcc 2.95.2, FreeBSD 3.3R

* Installation

With JDK 1.2, you must place the libshujit.so on
jdk1.2.2/jre/lib/i386/ or make a symbolic link into the
directory.

With JDK 1.1.X, copy the libshujit.so to the
path in LD_LIBRARY_PATH variable or the path on which
libjava.so exists
(ex. /usr/local/jdk1.1.8/lib/i686/green_threads/).

* Run Java applications with JIT compiler.

Type instead of usual java command
  % java -Djava.compiler=shujit ...

or set JAVA_COMPILER variable to `shujit'.
  If you use C shell compatible shells, type
    % setenv JAVA_COMPILER shujit
  If you use bourne shell compatible shells, type
    % export JAVA_COMPILER=shujit

* Compilation

You need some tools to compile this JIT.

- JDK 1.1.X or 1.2.X
  This JIT can work with JDK Sun's classic VM.
  For example, Linux JDK by Blackdown and Sun/Inprise,
  and FreeBSD JDK are supported, but IBM JDK is not.
- gcc 2.95.X or EGCS
  You can examine version of your `gcc' command with -v option.
  % gcc -v
  Currently, gcc 2.7.X will be not able to compile shuJIT.
- objdump (in GNU binutils)
  Most Linux distributions and ELF FreeBSD systems have it.
- Ruby
  A script which generate some tables was written in Ruby.
    http://www.ruby-lang.org/
- GNU make

  1. Run configure script.
     % ./configure
  2. Type `make'. You will get libshujit.so
     % make
     Instead of above, on FreeBSD type to use GNU make.
     % gmake

* Bugs and Problems

Any comments and bug reports are welcome. Please write to me.

* Copying

This program is free software which is copyrighted by
Kazuyuki SHUDO. You may redistribute and modify it under
the terms of GNU General Public License; either version
2 of the License, or any later version. See GPL.txt for
more details.

* Thanks

Thanks all folks around me and the following people:

OHARA Takuzo <takuzo@ueda.info.waseda.ac.jp>           (compilation on FreeBSD)
TAKAHASHI Hideaki <htaka@nalgo.co.jp>                    (bug report and debug)
TANAKA Keishiro <ksr@lp.nm.fujitsu.co.jp>                     (test on FreeBSD)
NEYAMA Ryo <ryo@muraoka.info.waseda.ac.jp>                      (test on Linux)
MIURA Toshitaka <miura@muraoka.info.waseda.ac.jp>      (preparation of FreeBSD)
KATO Jun'ya <kato@goto.info.waseda.ac.jp>              (preparation of FreeBSD)
MARUYAMA Fuyuhiko <fuyuhik8@is.titech.ac.jp>              (discussion and code)
and my wife Mari.


SHUDO Kazuyuki/$B<sF#0l9,(B   $B;d$r$?$P$M$J$$$G(B $B$"$i$;$$$H$&$N2V$N$h$&$K(B
  shudoh@muraoka.info.waseda.ac.jp
