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.1.7v1a, egcs 1.0.3, glibc2.0.7 and Linux 2.2.1
  - JDK 1.1.7v1a, egcs 1.0.3, libc5.4.38 and Linux 2.0.35

- FreeBSD
  - JDK 1.1.7 (V98-12-21) gcc 2.7.2.1 and FreeBSD 2.2.7R

* Installation

Copy the library 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

* Compile

You need some tools to compile this JIT.

- JDK 1.1.X
- EGCS (not 2.92.5-19981015) or GCC 2.7.X
  I recommend GCC 2.7 on FreeBSD.
- objdump (in GNU binutils)
  Most Linux distributions contains these utilities.
- Ruby
  A script which generate some tables is written in Ruby.
    http://www.netlab.co.jp/ruby/

  1. Edit J_HOME = ... line in def.mk.
     Write the path where you installed JDK.
  2. Edit the first line of the script gentable.rb
     if you installed Ruby to the path is not standard.
  3. Define a macro CC_VER as gcc27 in the file `def.mk'
     if you use GCC 2.7.X instead of EGCS.
     You can examine which C compiler you use by the command `gcc -v'
  4. Type `make'. You'll get libshujit.so

* Bugs and Problems

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

* Copying

This is free software which is copyrighted by Kazuyuki
SHUDO. You may distribute and modify it under the terms
in version 2 of the GNU General Public License. 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)
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
