-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
101 lines (76 loc) · 3.46 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
shuJIT - a JIT compiler for x86
http://www.shudo.net/jit/
Kazuyuki Shudo <[email protected]>
* What this is
ShuJIT is a Java Just-in-Time compiler for Sun Microsystems' Classic VM
(i.e. JDK, Java 2 SDK, JRE) and Intel x86 processors.
It supports FreeBSD, Linux and NetBSD.
* Platforms
Working on the following platforms is confirmed.
- FreeBSD
- JDK 1.3.1 patchlevel 8, GCC 2.95.4 and FreeBSD 4.9-STABLE
- JDK 1.1.8 (ELF, V1999-11-9), GCC 2.95.4 and FreeBSD 4.9-STABLE
- Linux
- Blackdown JDK 1.3.1_02b, GCC 3.3.2 20031022, glibc 2.3.2
and Linux 2.6.0-test9
- JDK 1.1.8v3, GCC 3.3.2 20031022, glibc 2.3.2 and Linux 2.6.0-test9
- JDK 1.1.7v1a, egcs 1.1.2, libc 5.4.38 and Linux 2.0.35
* Installation
With Java 2, you have to place the libshujit.so in
jdk1.X.X/jre/lib/i386/ or make a symbolic link in the path.
With JDK 1.1.X, copy the libshujit.so to a 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 programs with shuJIT
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 the following tools to compile shuJIT.
- JDK 1.3.X, 1.2.X or 1.1.X Classic VM
ShuJIT works with Sun's Classic VM which these JDKs contain.
Other JVMs, i.e. IBM JDK and HotSpot VMs, are not supported.
- GCC 3.X, 2.9X or egcs
You can examine the version number of your GCC with -v option.
% gcc -v
GCC 2.7.X cannot compile shuJIT correctly.
- objdump (in GNU binutils)
Most Linux distributions and ELF FreeBSD systems have this.
- Ruby
A script which generate some tables is written in Ruby.
See http://www.ruby-lang.org/
- GNU make
1. Run configure script.
% ./configure
If you want to use SSE2 instructions of Pentium 4 processor, type
% ./configure --enable-sse2
2. Type `make'. You will get libshujit.so
% make
Or, on FreeBSD systems
% gmake
Type `make debug' to obtain libshujit_g.so, which is for debugging.
* Bugs and Problems
Any comments and bug reports are welcome. Please feel easy to write to me.
* Copying
This software is a free software which is copyrighted by Kazuyuki
Shudo. You may redistribute and modify it under the terms of GNU
Lesser General Public License; either version 2.1 of the License, or
any later version. See LGPL.txt for more details.
* Thanks
Thanks all folks around me and especially the following people:
Takuzo O'hara <takuzo at sm.sony.co.jp> (compilation on FreeBSD)
Hideaki Takahashi <htaka at nalgo.co.jp> (bug report and debug)
Keishiro Tanaka <ksr at lp.nm.fujitsu.co.jp> (test on FreeBSD)
Ryo Neyama <neyama at jp.ibm.com> (test on Linux)
Toshitaka Miura <miura at computer.org> (preparation of FreeBSD)
Jun'ya Kato <kato at goto.info.waseda.ac.jp> (preparation of FreeBSD)
Fuyuhiko Maruyama <fuyuhik8 at is.titech.ac.jp> (discussion and code)
Toshihiko Shimokawa <toshi at csce.kyushu-u.ac.jp> (preparetion of FreeBSD)
Keizo Maeda <keizo at toolhouse.jp> (porting)
and my deceased wife Mari.
Kazuyuki Shudo/首藤一幸 私をたばねないで あらせいとうの花のように
shudo at computer.org http://www.shudo.net/