Tuesday, 18 May 2010

JamVM and OpenJDK - Progess Update

Porting JamVM to use the OpenJDK/IcedTea class-library has been on my TODO list for quite a while. It appears on my FOSDEM slides for 2008 and again in 2009. It doesn't this year, as I didn't do a talk. Maybe that's why I've finally got round to doing it. I told Twisti I'd get "Hello World" running in 3 months. I've missed by just over a week, mainly because I only started 2 months ago.
root@traken:/usr/local/jamvm/bin# java -Xbootclasspath:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar -Dsun.boot.library.path=/usr/lib/jvm/java-6-openjdk/jre/lib/amd64 -showversion hello
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.6.1) (6b16-1.6.1-3ubuntu1)
JamVM (build 1.5.5-openjdk, inline-threaded interpreter)

Hello World!

There's still quite a lot to do, including finishing off support for reflection and sun.misc.Unsafe but threading, exception handling, library handling, class-loading and the VM bootstrap sequence should be done.


Xerxes RĂ„nby said...

Cool progress!

Do JamVM still produce those quick and fast startup times when using the OpenJDK class librarys compared to the fast startuptimes obtainable when using GNU Classpath classes?

Im delighted to finally see a truly low overhead JVM to be used with the OpenJDK classes, and I think JamVM will give a cutting edge in realtime embedded java applications where quick response times and low memory overhead are more cruicial than top message processing throughput, a metric that totally dominate how we currently measure JVM preformance in most server benchmarks.

Christian Thalinger said...

Finally :-)

Linuxhippy said...

Cool, congrats :)
I always wished I could run something lightweight like jamvm with openjdk classes for my nokia-770.

Michael Starzinger said...

Great news and nice job, congrats! This really widens the range of use-cases (aka. test-cases) for JamVM.

Stefan Ring said...

Congratulations! All these sun.misc.* bits are an annoyingly large body of code...

gnu_andrew said...

Will JamVM still support GNU Classpath, as CACAO does?