SkillAgentSearch skills...

Shujit

Java Just-in-Time Compiler for x86 processors

Install / Use

/learn @shudo/Shujit
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

shuJIT - a JIT compiler for x86 http://www.shudo.net/jit/ Kazuyuki Shudo shudo@computer.org

  • 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/

View on GitHub
GitHub Stars95
CategoryDevelopment
Updated8mo ago
Forks4

Languages

C

Security Score

72/100

Audited on Jul 19, 2025

No findings