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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
#include "include/layout.wml"
<set-var last-modified-author="prk">
<subject "GNU Classpath Success Stories">
<box>
<boxtitle><a name="jvm">Classpath::JVM</a></boxtitle>
<boxitem>
<en>
<p>
The primary target for GNU Classpath was originally <createlink
url="http://www.hungry.com/old-hungry/products/japhar/" name="Japhar">. Japhar-0.07 works out-of-the-box with
GNU Classpath-0.00. Current Japhar versions do not work with current versions
of GNU Classpath.
</p>
<p>In the meantime, many other JVM have choosen GNU Classpath as their library implementation:</p>
<table border="0" width="100%" cellpadding="6">
<!--tr><th>JVM</th><th>Description</th></tr-->
<project url="http://aegisvm.sourceforge.net/" name="AegisVM">
The Aegis VM Project is an on-going effort to develop a lightweight,
secure virtual machine for executing Java bytecode. The Aegis VM will
eventually feature a modular bytecode verification architecture that
allows user-defined static verification procedures to be integrated
into the VM's dynamic linking process through pluggable verification
modules.
</project>
<project url="http://gcc.gnu.org/java/" name="GCJ">
Although GNU Classpath cannot be directly compiled for use with
GCJ at this time, a lot of work has been done to merge GCJ class
library code and GNU Classpath class library code. This has resulted
in a better version of each. The current merge status between the two
projects is <createlink url="http://gcc.gnu.org/java/libgcj-classpath-compare.html"
name="located here">.
</project>
<project url="http://www.ikvm.net/" name="IKVM.NET">
A JVM for the .NET platform.
Runs on top of <createlink url="http://www.go-mono.org/" name="Mono">.
</project>
<project url="http://sourceforge.net/projects/jamiga" name="JAmiga">
A JRE implementation for the Amiga Platform.
</project>
<project url="http://jamvm.sourceforge.net/" name="JamVM">
JamVM is a Java Virtual Machine which conforms to the JVM specification version 2 (blue book). In comparison to most other VM's (free and commercial) it is extremely small, with a stripped executable on PowerPC of only ~100K, and Intel 80K. However, unlike other small VMs (e.g. KVM) it is designed to support the full specification, and includes support for object finalisation, the Java Native Interface (JNI) and the Reflection API.
</project>
<project url="http://www.oberon.ethz.ch/jaos/" name="Jaos">
The Jaos VM is a JVM using GNU Classpath implemented on top of the
<createlink url="http://bluebottle.ethz.ch/" name="Aos/Bluebottle"> kernel.
This kernel offers many useful features like garbage collected memory
management, dynamic module loading, and object-oriented model. This makes the
implementation of a JVM particularly attractive and simple.
</project>
<project url="http://jcvm.sourceforge.net/" name="JC">
JC is a Java virtual machine implementation that converts class
files into C source files using the Soot Java bytecode analysis
framework, compiles them with GCC, and loads them using a built-in
ELF object file loader.
</project>
<project url="http://www.ibm.com/developerworks/oss/jikesrvm/" name="Jikes RVM">
Jikes RVM uses GNU Classpath for all of its libraries. Instructions for using
Classpath are provided in the Jikes RVM user's guide as of the Jikes RVM
release 2.2.1 (4/7/03). Nightly regression tests are run against the latest
Classpath release and the Classpath CVS head. The results are posted on the
jikesrvm-regression mailing list, which is archived and available on the Jikes
RVM home page.
</project>
<project url="http://jnode.sourceforge.net/" name="JNode">
JNode is a <i>Java New Operating System Design Effort</i>.
The goal is to get an simple to use and install Java operating system for personal use. Any java application should run on it, fast & secure!
</project>
<project url="http://www.eecg.toronto.edu/~doylep/jupiter/" name="Jupiter">
This VM also uses a modified version of the GNU Classpath libraries.
</project>
<project url="http://www.kaffe.org/" name="Kaffe">
Kaffe OpenVM is a complete virtual machine, library framework and
tools for programming in the java language. It has its own
implementation of part of the core libraries, but uses large parts of
the GNU Classpath framework.
</project>
<project url="http://kissme.sourceforge.net/" name="Kissme">
This VM is almost always guaranteed to work with GNU Classpath CVS
source code.
</project>
<project url="http://www.intel.com/research/mrl/orp/" name="ORP">
Information about ORP
can also be found at <createlink url="http://orp.sourceforge.net/"
name="http://orp.sourceforge.net/">. ORP 1.10 does not work with
current GNU Classpath libraries. Information is available in the
mailing list archives.
</project>
<project url="http://www.sablevm.org/" name="SableVM">
SableVM is a robust, extremely portable, efficient, and
specifications-compliant Java Virtual Machine that aims to be easy to
maintain and to extend. It features a state-of-the-art, efficient
interpreter engine. Its source code is very accessible and easy to
understand, and has many robustness features that have been the object
of careful design.
</project>
<project url="http://www.cacaojvm.org/" name="CACAO">
CACAO is a research Java Virtual Machine developed at the Vienna
University of Technology. It has a compile-only approach, which means
there is no interpreter at all but a JIT compiler ported to different
architectures, like Alpha, i386, MIPS, PowerPC, and x86_64. The main
aim of CACAO is to keep the JIT compilation time as small as possible
while producing quite fast code.
</project>
</table>
</en>
<H4>Other projects using GNU classpath</H4>
<en>
<table border="0" width="100%" cellpadding="6">
<!--tr><th>Project</th><th>Description</th></tr-->
<project url="http://www.flex-compiler.lcs.mit.edu/" name="Flex Compiler">
FLEX is a compiler infrastructure written in Java for Java. Applications
include a program analysis and transformation framework for distributed
and embedded systems. Native backends exist for the StrongARM and MIPS
processors; it can also generate portable C code that can run on any
platform with gcc.
</project>
</table>
</en>
</boxitem>
<!--
<boxtitle><a name="applications">Classpath::Applications</a></boxtitle>
<boxitem>
Having an application running on a JVM using classpath implicitly proves that
classpath is fit enough for its purpose.
<p>The following free software applications have been run on classpath-based environments:
<ul>
<li>Eclipse (on gcj)
</ul>
</boxitem>
-->
<boxtitle><a name="research">Classpath::Research</a></boxtitle>
<boxitem>
<p>Many research projects have choosen GNU Classpath as their implementation of choice for
the Java Libraries, mostly because it is free software, which means the freedom to use,
analyze, and change the code for one's purposes.</p>
##
# Shortcut for table entries
#
<define-tag entry endtag=required>
<preserve name>
<set-var %attributes>
<tr>
<td valign="top"><get-var name></td>
<td>%body</td>
</tr>
<restore name>
</define-tag>
<p>The following research projects are using GNU Classpath:
<table border="0" cellpadding="6">
<!--tr><th>Project</th><th>Description</th>
</tr-->
<entry name="Intel's ORP">
<createlink url="http://orp.sourceforge.net/" name="ORP"> (Open Runtime Platform) is an open source research infrastructure project that provides these features thus enabling the rapid evolution of systems research of dynamic compilation and memory management.
<p>[<createlink name="Publications" url="http://www.intel.com/research/mrl/library/java-pubs.htm">]
</entry>
<entry name="IBM's Jikes RVM">
<createlink url="http://www-124.ibm.com/developerworks/oss/jikesrvm/" name="Jikes RVM"> (the Jikes Research Virtual Machine) provides the research community with a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives. The virtual machine infrastructure in the Jikes RVM release was independently developed as part of the Jalapeņo research project at the IBM T.J. Watson Research Center.
<p>[<createlink name="Publications" url="http://www-124.ibm.com/developerworks/oss/jikesrvm/info/papers.shtml">]
</entry>
<entry name="SableVM">
<createlink url="http://www.sablevm.org/" name="SableVM"> SableVM is a
highly portable and efficient Java virtual machine, using
state-of-the-art interpratation techniques. Its goals are to be
reasonably small, fast, and compliant with the various specifications
(JVM specification, JNI, invocation interface, etc.).
<p> The initial development of SableVM was done as part of the
Ph.D. research project of <createlink name="Etienne Gagnon"
url="http://www.info.uqam.ca/~egagnon">. Continuing development of
SableVM project involves the <createlink name="Sable Research Group"
url="http://www.sable.mcgill.ca/"> (McGill University and Universite
du Quebec a Montreal), and other generous <createlink name="Free
software contributors"
url="http://devel.sablevm.org/svn/repository/sablevm/branches/staging/AUTHORS">.
<p>[<createlink name="SableVM Documents" url="http://www.sablevm.org/docs.html">]
<br>[<createlink name="Sable Publications (Papers)" url="http://www.sable.mcgill.ca/publications/papers/">]
</entry>
<entry name="Jaos">
<createlink name="Jaos" url="http://www.oberon.ethz.ch/jaos/"> (Java on Active Object System) is a Java Virtual Machine for the Bluebottle System and a case study in interoperability between the Oberon and Java Languages.
<p>Jaos was developed as part of Patrik Reali's Ph.D research project at the <createlink name="Programming Languages and Run-Time Systems Research Group" url="http://www.cs.inf.ethz.ch/gutknecht/"> at <createlink name="ETH Zurich" url="http://www.ethz.ch">.
<p>[<createlink name="Publications" url="http://www.oberon.ethz.ch/jaos/docs/index.html">]
</entry>
</table>
</boxitem>
</box>
|