Unable to compile IcedTea with CACAO under Fedora 17

Robert Lougher rob.lougher at gmail.com
Tue Dec 18 13:00:06 PST 2012


Hi Greg,

On 18 December 2012 18:02, Greg Johnson <gregjo at yahoo.com> wrote:
>
> Under Debian, I have this:
> # java -version
> java version "1.6.0_18"
> OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze1)
> OpenJDK Zero VM (build 14.0-b16, mixed mode)
>
> Under Fedora, I have this:
> # java -version
> java version "1.7.0_b147-icedtea"
> OpenJDK Runtime Environment (fedora-2.1.fc17.6-arm)
> OpenJDK Zero VM (build 22.0-b10, interpreted mode)
>
> Both are using Zero VM, but with different modes. Then I received this
> explanation from the Raspberry Pi forums:
> --------------------------------------
> The main reason why you see a magnitude difference in the Debian vs Fedora
> results really boils down to that there exist two variants of Zero.
>
> In Fedora you have installed OpenJDK Zero VM (build 22.0-b10, interpreted
> mode)
> This is using the C++ interpreter only.
>
> In Debian you have installed OpenJDK Zero VM (build 14.0-b16, mixed mode)
> The "mixed mode" version contains two addons, designed by Edward Nevill, on
> top of the generic Zero C++ interpreter, a rewritten interpreter main loop
> in ARM assembly this speeds up the jvm about a factor x3 this do benefit the
> Pi.
> The "mixed mode" also include a Thumb2 JIT that improves speed for ARMv7
> cores and later, the Pi could benefit from this JIT if it got rewritten from
> Thumb2 to target generic ARM or Thumb1 assembly.
> -----------------------------------------
>

Performance-wise JamVM is faster than the assembly interpreter but
slower than the Thumb2 JIT.  However this doesn't work on the Pi, so
JamVM should be faster than what you used on Debian (as long as it was
on the Pi).

> The Thumb2 info is out of my league. However, the disparity on performance
> was drastic, thus I searched out other avenues. Cacao was suggested, so I
> thought I'd try it out. Since it won't compile on 32bit x86, I have no hope
> of compiling it on ARM. I guess my search continues.... :-(  Stefan
> suggested JamVM as a possibility. Off I go. :-)

JamVM is easy to build.  It takes about 6 minutes for a full build on
the Pi (armhf).  You can follow the instructions here:

http://draenog.blogspot.co.uk/2011/02/openjdkjamvm-git-repository.html

They are slightly out of date.  When it says:

./autogen.sh --with-java-runtime-library=openjdk

You now need to give openjdk6 or openjdk7, as the VM now needs to be
build slightly differently.

Rob.



More information about the distro-pkg-dev mailing list