Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shudo/shujit
Java Just-in-Time Compiler for x86 processors
https://github.com/shudo/shujit
Last synced: 21 days ago
JSON representation
Java Just-in-Time Compiler for x86 processors
- Host: GitHub
- URL: https://github.com/shudo/shujit
- Owner: shudo
- Created: 2017-05-30T13:17:34.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-05-30T14:23:56.000Z (over 7 years ago)
- Last Synced: 2024-08-05T17:24:10.173Z (4 months ago)
- Language: C
- Size: 366 KB
- Stars: 92
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- Support: support-xbox.c
Awesome Lists containing this project
- AwesomeCompiler - shujit
- awesome-hacking-lists - shudo/shujit - Java Just-in-Time Compiler for x86 processors (C)
README
shuJIT - a JIT compiler for x86
http://www.shudo.net/jit/
Kazuyuki Shudo* 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 make1. 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 (compilation on FreeBSD)
Hideaki Takahashi (bug report and debug)
Keishiro Tanaka (test on FreeBSD)
Ryo Neyama (test on Linux)
Toshitaka Miura (preparation of FreeBSD)
Jun'ya Kato (preparation of FreeBSD)
Fuyuhiko Maruyama (discussion and code)
Toshihiko Shimokawa (preparetion of FreeBSD)
Keizo Maeda (porting)
and my deceased wife Mari.Kazuyuki Shudo/首藤一幸 私をたばねないで あらせいとうの花のように
shudo at computer.org http://www.shudo.net/