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
  - JDK 1.2 pre-release 2, egcs 1.0.3, glibc2.0.7 and Linux 2.2.11
  - JDK 1.1.7v3, egcs 1.0.3, glibc2.0.7 and Linux 2.2.11
  - JDK 1.1.7v1a, egcs 1.1.2, libc5.4.38 and Linux 2.0.35

- FreeBSD
  - JDK 1.1.8 (ELF, V99-7-19), egcs 1.1.2, FreeBSD 3.2R

* Installation

With JDK 1.2, you must place the libshujit.so on
jdk1.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.7/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 compliants, type
    % setenv JAVA_COMPILER shujit
  If you use bourne shell compliants, type
    % export JAVA_COMPILER=shujit

* Compilation

You need some tools to compile this JIT.

- JDK 1.1.X or 1.2
- EGCS (not experimental version such as 2.92.5-19981015)
  You can examine version of your `gcc' command with -v option.
  % gcc -v
  I've never tested with gcc 2.95.
  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 is written in Ruby.
    http://www.netlab.co.jp/ruby/
- GNU make

  1. Run configure script.
     % ./configure
  2. Type `make'. You'll get libshujit.so
     % make
     You must use GNU make. On FreeBSD, type
     % 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)
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
