Status of non-Hotspot VMs and Shark

Andrew Hughes gnu.andrew at redhat.com
Tue Sep 25 08:00:04 PDT 2012



----- Original Message -----
> On 09/24/2012 08:24 PM, Andrew Hughes wrote:
> > ----- Original Message -----
> >> Hi Florian,
> >>
> >> Mostly in complete agreement with Xerxes here,
> >>
> >> On 24/09/12 10:03 AM, Xerxes Rånby wrote:
> >>> 2012-09-23 11:05, Florian Weimer skrev:
> >>>> What's the status of Shark, JamVM and Cocoa for OpenJDK 6 and 7?
> >>>>   Are
> >>>> they officially released/supported?  What about the zero port?
> >>>>
> >>>> I'm wondering which of these VMs should be part of the upcoming
> >>>> Debian
> >>>> stable release.
> >>>>
> >>> ### Zero
> >>> Zero is actively maintained and all around stable.
> >>> Zero includes an assembler optimized interpreter for ARM and a
> >>> thumb2 jit for armv7.
> >>> Zero + OpenJDK 6  Icedtea 1.11.4 = OK
> >>> Zero + OpenJDK 7  Icedtea 2.3.2 = OK
> >> At least as far as I know the asm jit for arm is not yet working
> >> in
> >> 2.3
> >> will be fixed after I get last bits of jsr 292 for zero pasted
> >> back
> >> together.
> 
> We default to use the 2.1 hotspot branch when zero is enabled in
> order to
> workaround this issue for the 2.3.2 release. see below:
> 
> >>> tested configure flags:
> >>> --enable-zero
> >>> and
> >>> --with-additional-vms=zero
> >
> > As far as I'm aware, the ARM port is only present in the 2.1
> > branch.  This needs rectifying.
> 
> No rectifying needed because we actually build the IcedTea 7 2.1
> hotspot branch for all
> Zero builds of the IcedTea7 2.3.2 release!
> 

Yes, that's a temporary measure.  We don't want to be maintaining 2.1 forever.
The port should be available on HEAD, so it makes it to new branches.

http://blog.fuseyism.com/index.php/2012/07/26/the-return-of-zero-sort-of/

> examination:
> http://icedtea.classpath.org/hg/release/icedtea7-2.3/file/e7117fcb33ed/acinclude.m4#l924
> Here we run a check for zero builds and if found then switches the
> default hotspot.
> line source of acinclude.m4
>   926 AC_REQUIRE([IT_ENABLE_ZERO_BUILD])
>   927 if test "x${use_zero}" = "xyes"; then
>   928   DEFAULT_BUILD="zero"
>   929 else
>   930   DEFAULT_BUILD="default"
>   931 fi
> 
> http://icedtea.classpath.org/hg/release/icedtea7-2.3/file/e7117fcb33ed/hotspot.map
> Here we define the location for the zero hotspot src repository,
> note that zero builds use the icedtea7-forest-2.1/hotspot that do
> include the ARM port!
> line source of hotspot.map
>     1 # version url changeset sha256sum
>     2 default
>     http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot
> ea39d76b3bde
> 25733b44590c950adc42a2e9c366b8a3992803c06dedcc16d2bf0d50fed54844
>     3 zero
>     http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot
> 47a867dd3005
> 9f9c2fb9eea9cc2e2d44f23d46615522b09ad0b5dbce2e448458a44e05161e3e
> 
> Verification:
> If your Zero VM version ends with "mixed mode" on ARM then it do
> contain the assembler
> optimizations and the Thumb2 JIT.
> 
> xranby at ac100-armel:~$ java -version
> java version "1.7.0_07"
> OpenJDK Runtime Environment (IcedTea7 2.3.2)
> (7u7-2.3.2a-0ubuntu0.12.04.1)
> OpenJDK Zero VM (build 22.0-b10, mixed mode)
> 
> Yes, the ARM assembler optimized interpreter and Thumb2 JIT is
> included in 2.3.2 release!
> 
> >
> > The supported way of building is with --enable-zero.
> >
> >>>
> >>> ### Shark
> >>> Shark (zero+shark) is unmaintained and considered broken.
> >>> Do not package.
> >>
> >> Long term goal but dead at the moment.
> >>>
> >>> ### JamVM
> >>> JamVM is actively maintained and all around stable.
> >>> JamVM + OpenJDK 6  Icedtea 1.11.4 = OK, a more stable upstream
> >>> release exist to be released with 1.12.
> >>> use this patch
> >>> http://icedtea.classpath.org/hg/icedtea6/rev/fb1137cef484
> >>> to use the latest JamVM in combination with IcedTea6 1.11.x
> >>> before
> >>> the next IcedTea 6 1.12 hits the streets.
> >>>
> >>> JamVM + OpenJDK 7  Icedtea 2.3.2 = OK
> >>> tested configure flags:
> >>> --enable-jamvm
> >
> > --enable-jamvm is the support way of building.
> >
> > Is the same JamVM used by 6, 7 & 8?
> Yes same source, JamVM got a configure flag
>    --with-java-runtime-library=openjdk6
> and
>    --with-java-runtime-library=openjdk7
> to handle the recent shared char buffer String change that got
> introduced
> with the IcedTea 2.3 release.
> 
> >
> >>> and
> >>> --with-additional-vms=jamvm
> >>> * This --with-additional-vms=jamvm combination require a SONAME
> >>> patch on top of JamVM.
> >>> This jamvm-avoid-version-soname.patch SONAME patch is currently
> >>> only in use by ubuntu.
> >>> http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/openjdk-7/quantal/revision/30#debian/patches/jamvm-avoid-version-soname.patch
> >>> Sent and waiting for review upstream.
> >>> http://sourceforge.net/mailarchive/message.php?msg_id=29763831
> >>>
> >
> > Why is this patch not in IcedTea or JamVM itself?
> 
> Robert have not yet responded to the patch sent to the JamVM
> mailinglist.
> I wanted to first merge it in JamVM upstream before introducing it
> into IcedTea.
> 
> >
> >>> ### CACAO
> >>> Cacao is actively maintained and stable in combination with
> >>> OpenJDK
> >>> 6.
> >>> Cacao + OpenJDK 6  Icedtea 1.11.4 = OK
> >>> --enable-cacao
> >>> and
> >>> --with-additional-vms=cacao
> >
> > Again, --enable-cacao is the supported way of building.
> >
> >>> There is a new upstream cacao 1.6.0 release that should be merged
> >>> and used by IcedTea6.
> >>> http://www.cacaojvm.org/
> >>>
> >
> > Is anyone working on this?
> >
> >>> Cacao + OpenJDK 7  Icedtea 2.3.2 = unstable
> >>> The CACAO OpenJDK 7 port is immature, it can run HelloWorld and
> >>> some numerical simple benchmarks
> >>> but refuses to run real world applications that access file IO.
> >>> Do not package.
> >>>
> >
> > Ok, should this also be upgraded to 1.6?  Are there CACAO bugs for
> > these issues?
> >
> >>> ### Avian
> >>> Avian is actively maintained and rapidly approaching stable.
> >>> Avian + OpenJDK 7  IcedTea 2.3.2 = OK
> >>> Avian is preferably built separately from src after the main
> >>> OpenJDK 7 build.
> >>> Avian is packaged in Ubuntu 12.10 and show great performance on
> >>> embeded devices.
> >>> Latest deb source and merge request:
> >>> https://code.launchpad.net/~xranby/ubuntu/quantal/avian/avian_0.6+20120924/+merge/126005
> >>> http://oss.readytalk.com/avian/
> >>>
> >
> > This is the first I've heard of this.  Any reason support wasn't
> > added to IcedTea?
> >
> Avian is preparing their 1.0 release that will be the first release
> with OpenJDK 7 support.
> By keeping it outside IcedTea enable distributions that package Avian
> to have a rapid
> release cycle during its stabilization process.
> I plan to introduce Avian into IcedTea when it have reached 1.0 and
> is found to be self
> hosting.
> 
> >>> Cheers
> >>> Xerxes
> >> Thanks Xerxes!
> >>
> >> Cheers!
> >> Chris
> >> PS
> >> The definition of support I am using  here is
> >>      "mostly working will try to fix bugs on best effort basis".
> >>
> >> --
> >> --
> >> --     Woda: "Java: write once, debug anywhere" Hong Zhang
> >>                        http://thehenrys.ca
> >>    | Chris Phillips @ T.O. Red Hat OpenJDK JVM Engineer,
> >>    |            |
> >>    | mailto:ChrisPhi at RedHat.Com                  (416)483-3768
> >>    |      |
> >>    | http://LGonQn.Org/www/Chris.Phillips  cell: (416)505-3610
> >>    |      |
> >>    "EPIC stands for Expects Perfectly Intuitive Compilers" P.
> >>    Bannon
> >>                     http://www.hazmatmodine.com
> >>    NOTICE:
> >>    This email message is for the sole use of the intended
> >>    recipient(s)
> >>    and may contain confidential and privileged information.  Any
> >>    unauthorized review, use, disclosure or distribution is
> >>    prohibited.
> >>    If you are not the intended recipient, please contact the
> >>    sender by
> >>    reply email and destroy all copies of the original message.
> >>                      "blah blah blah - Ginger!"
> >> --
> >> --
> >>
> >>
> >
> > Cheers,
> >
> 
> Cheers!
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07




More information about the distro-pkg-dev mailing list