Add openjit - a high-performance reflective Java Just-In-Time (JIT) bytecode
compiler.
This commit is contained in:
parent
4d27f73f4f
commit
7de588fb9a
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=33139
9 changed files with 167 additions and 0 deletions
|
@ -23,6 +23,7 @@
|
|||
SUBDIR += kaffe
|
||||
SUBDIR += linux-jdk
|
||||
SUBDIR += netrexx
|
||||
SUBDIR += openjit
|
||||
SUBDIR += shujit
|
||||
SUBDIR += tya
|
||||
|
||||
|
|
45
java/openjit/Makefile
Normal file
45
java/openjit/Makefile
Normal file
|
@ -0,0 +1,45 @@
|
|||
# New ports collection makefile for: openjit
|
||||
# Date created: 26 September 2000
|
||||
# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= openjit
|
||||
PORTVERSION= 1.1.15
|
||||
CATEGORIES= java
|
||||
MASTER_SITES= http://www.openjit.org/dist/
|
||||
DISTNAME= OpenJIT-${PORTVERSION}
|
||||
|
||||
MAINTAINER= sobomax@FreeBSD.org
|
||||
|
||||
BUILD_DEPENDS= ${JAVADIR}/bin/java:${PORTSDIR}/java/jdk
|
||||
|
||||
ONLY_FOR_ARCHS= i386
|
||||
|
||||
USE_GMAKE= yes
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS+= --with-jdk=${JAVADIR}
|
||||
|
||||
ALL_TARGET= OpenJIT.jar
|
||||
|
||||
JAVADIR= ${LOCALBASE}/jdk1.1.8
|
||||
JAVALIBDIR= ${PREFIX}/lib/OpenJIT
|
||||
DOCDIR= ${PREFIX}/share/OpenJIT
|
||||
|
||||
post-configure:
|
||||
@${PERL} -pi -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/INSTALL
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${JAVALIBDIR}
|
||||
@${INSTALL_PROGRAM} ${WRKSRC}/libOpenJIT.so ${JAVALIBDIR}
|
||||
@${INSTALL_DATA} ${WRKSRC}/OpenJIT.jar ${JAVALIBDIR}
|
||||
|
||||
post-install:
|
||||
@${MKDIR} ${DOCDIR}
|
||||
@${INSTALL_MAN} ${WRKSRC}/INSTALL ${DOCDIR}/README
|
||||
@${ECHO_MSG} ""
|
||||
@${ECHO_MSG} "See ${DOCDIR}/README for usage instructions."
|
||||
@${ECHO_MSG} ""
|
||||
|
||||
.include <bsd.port.mk>
|
1
java/openjit/distinfo
Normal file
1
java/openjit/distinfo
Normal file
|
@ -0,0 +1 @@
|
|||
MD5 (OpenJIT-1.1.15.tar.gz) = 249fda720491d62ac2c6188ad1caad55
|
27
java/openjit/files/patch-aa
Normal file
27
java/openjit/files/patch-aa
Normal file
|
@ -0,0 +1,27 @@
|
|||
--- Makefile.in.orig Tue Sep 26 10:43:57 2000
|
||||
+++ Makefile.in Tue Sep 26 15:34:34 2000
|
||||
@@ -112,12 +112,12 @@
|
||||
|
||||
.PHONY: all optimized debug clean
|
||||
|
||||
-all: debug optimized
|
||||
+all: optimized
|
||||
|
||||
library: debug optimized
|
||||
|
||||
-OpenJIT.jar: org/OpenJIT/*.class
|
||||
- jar cvf OpenJIT.jar org/OpenJIT/*.class
|
||||
+OpenJIT.jar: all
|
||||
+ $(JAVA_HOME)/bin/jar cvf OpenJIT.jar org/OpenJIT/*.class
|
||||
|
||||
CC = @CC@
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
OBJDIR = obj$(SUFFIX)
|
||||
|
||||
CFLAGS_COMMON = -Wall @CFLAGS@
|
||||
-CFLAGS_OPT = -O2
|
||||
+CFLAGS_OPT = -Wall @CFLAGS@
|
||||
CFLAGS_DBG = -g
|
||||
CFLAGS = $(CFLAGS_$(VARIANT)) $(CFLAGS_COMMON) $(OTHER_CFLAGS)
|
||||
INCLUDES = -I@JDK_INCLUDE@ -I@JDK_INCLUDE@/$(PLATFORM) -I./CClassHeaders
|
11
java/openjit/files/patch-ab
Normal file
11
java/openjit/files/patch-ab
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- configure 2000/09/26 12:09:19 1.1
|
||||
+++ configure 2000/09/26 12:09:47
|
||||
@@ -724,7 +724,7 @@
|
||||
SET_MAKE="MAKE=${MAKE-make}"
|
||||
fi
|
||||
|
||||
-CFLAGS=""
|
||||
+#CFLAGS=""
|
||||
# Extract the first word of "gcc", so it can be a program name with args.
|
||||
set dummy gcc; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
48
java/openjit/files/patch-ac
Normal file
48
java/openjit/files/patch-ac
Normal file
|
@ -0,0 +1,48 @@
|
|||
--- INSTALL.orig Tue Dec 21 05:10:46 1999
|
||||
+++ INSTALL Tue Sep 26 15:58:13 2000
|
||||
@@ -2,39 +2,17 @@
|
||||
|
||||
A Reflective JIT Compiler for Java
|
||||
|
||||
-REQUIREMENTS
|
||||
-============
|
||||
-OpenJIT requires a running port of the JDK 1.1.x or 1.2.x on Solaris,
|
||||
-Linux or FreeBSD platform. Please download JDK 1.1.x or later and
|
||||
-install it on your system. The current version of OpenJIT was tested
|
||||
-on the following JDK packages:
|
||||
-
|
||||
- * Solaris (SPARC) JDK1.1.8 and JDK1.2.2
|
||||
- downloaded from http://java.sun.com/jdk/
|
||||
- * Linux (x86) JDK1.1.7 and JDK1.2.2
|
||||
- downloaded from http://www.blackdown.org/
|
||||
- * FreeBSD (x86) JDK1.1.8
|
||||
- downloaded from http://www.freebsd.org/java/
|
||||
-
|
||||
-And to build OpenJIT will require the GNU C Compiler (version 2.7.2.3
|
||||
-or egcs-1.1.2, or later)
|
||||
-
|
||||
-
|
||||
-BUILDING AND INSTALLATION
|
||||
-=========================
|
||||
-To install the OpenJIT into JDK, perform the following steps in your
|
||||
-shell:
|
||||
-
|
||||
- $ ./configure --with-jdk=/path/to/jdk
|
||||
- $ make
|
||||
- $ make install
|
||||
-
|
||||
-
|
||||
HOW TO RUN
|
||||
==========
|
||||
You may either specify the compiler to the JVM on the command line, or
|
||||
you may set an environment variable that will let the JVM find the
|
||||
compiler.
|
||||
+
|
||||
+In both cases first you should set LD_LIBRARY_PATH and CLASSPATH enviropment
|
||||
+variables as follows:
|
||||
+
|
||||
+ $ export LD_LIBRARY_PATH=%%PREFIX%%/lib/OpenJIT
|
||||
+ $ export CLASSPATH=%%PREFIX%%/lib/OpenJIT/OpenJIT.jar
|
||||
|
||||
For the command line option, run Java using option "-Djava.compiler=",
|
||||
like this example:
|
1
java/openjit/pkg-comment
Normal file
1
java/openjit/pkg-comment
Normal file
|
@ -0,0 +1 @@
|
|||
A high-performance reflective Java Just-In-Time (JIT) bytecode compiler
|
28
java/openjit/pkg-descr
Normal file
28
java/openjit/pkg-descr
Normal file
|
@ -0,0 +1,28 @@
|
|||
The OpenJIT project is an ongoing Java the programming language JIT compiler
|
||||
project as a collaborative effort between Tokyo Institute of Technology and
|
||||
Fujitsu Laboratory, partly sponsored by the Information Promotion Agency of
|
||||
Japan.
|
||||
|
||||
OpenJIT is a "reflective" JIT compiler in that not only it is almost entirely
|
||||
written in Java, but also that it bootstraps and compiles itself during
|
||||
execution of the user program, and compiler components coexist as first-class
|
||||
objects in user heap space. Thus, users can tailor and customize the compilation
|
||||
of classes at runtime for variety of purposes such as application-specific
|
||||
optimization and partial evaluation, dynamic, compiler-assisted environment
|
||||
adaptation of programs, debugging, language extension and experimentation, and
|
||||
other types of advanced compiler-based research and applications. OpenJIT even
|
||||
allows full dynamic update of itself by loading the compiler classes on the fly
|
||||
from the network.
|
||||
|
||||
OpenJIT is fully JDK compliant, and plugs into standard JVMs several Unix
|
||||
platforms such as Solaris (Sparc), Linux (x86), and FreeBSD (x86).
|
||||
|
||||
On Linux/x86 platform, OpenJIT 1.1.14 is faster than the JDK 1.2 classic VM
|
||||
compiler, runs more or less the same speed as other commercial JIT compilers on
|
||||
classic VM.
|
||||
|
||||
OpenJIT is completely free so long as it is used for non-commercial purposes.
|
||||
Its source, binaries, etc. can be freely distributed and modified without
|
||||
restriction.
|
||||
|
||||
WWW: http://www.openjit.org/
|
5
java/openjit/pkg-plist
Normal file
5
java/openjit/pkg-plist
Normal file
|
@ -0,0 +1,5 @@
|
|||
lib/OpenJIT/OpenJIT.jar
|
||||
lib/OpenJIT/libOpenJIT.so
|
||||
share/OpenJIT/README
|
||||
@dirrm share/OpenJIT
|
||||
@dirrm lib/OpenJIT
|
Loading…
Reference in a new issue