16/10/2009: Jelatine 0.9.4 has been released, you can find it on SourceForge's download area. This is mostly a bug-fix release, a lot of nasty bugs have been quashed and the machine is now much more robust, especially when using multi-threading. Jelatine is licensed under the GPLv3.
Jelatine is a new Java Virtual Machine which targets the Java 2 Micro Edition Connected Limited Device Configuration (J2ME CLDC). The machine was designed to work on very small embedded systems and requires as little as 32 KiB of RAM for running non-trivial Java code (provided that the executable is stored in ROM). It also provides an (almost) CLDC compliant classpath which has been obtained by modifying and reusing parts of the GNU/Classpath project.
To build the machine you will need a C99 compiler, Sun's javac compiler
available from
Java developer kit
and the zziplib library if you
for JAR file support. For thread support you either need POSIX threads support
or GNU/Pth. To build the
source code documentation you will need
Doxygen. If you want to try out Jelatine's
mainline you can now find it through Sourceforge's subversion service. You can
check it out with the following command:
svn checkout http://svn.code.sf.net/p/jelatine/code/trunk jelatine
The Jelatine JVM is currently functional and was tested with non-trivial code but it still lacks a lot of features (mainly bytecode verification and an basic profile implementation) so consider it a work in progress. Feedback is welcome, bug reports, advices, suggestions and requests should be sent to the e-mail address provided below or through Sourceforge's tracker.