Merge of PPC port into IcedTea 2.x for OpenJDK 7

Andrew Hughes gnu.andrew at redhat.com
Tue Feb 4 08:00:39 PST 2014


----- Original Message -----
> Hi Andrew,
> 
> nice to hear that we're finally getting consumed :)

I've been wanting to look at this since it was first announced, but it's
just a matter of finding the time! :)

> 
> We regularly build and test on boxes with IBM's Power 5,6 and 7 CPUs.
> So on these machines there should be no problems. What other 64-bit
> Power machines do you think of?

I was thinking of the PPC970 which was used in Apple's PowerMacs, mainly
because I still have one hanging around. But I suspect it's easy enough
and rare enough for someone using that to just explicitly enable Zero.
I guess we'll find out when distros start picking it up.

> 
> Recently, some folks from Servergy started to test our port on their
> new e6500 CPUs. Monica Beckwith from Servergy will be at FOSDEM so I
> hope we can have a chat there.
> 

Sorry I couldn't make FOSDEM. Just not enough funding for everyone
this time around :(

> If you run a debug version of java with the "–XX:+Verbose" flag, the
> VM will print the extra instructions it detected and it thinks are
> available on your machine. In general we only use Power5 instructions
> plus the one we detected. If you run on hardware older than Power5, we
> may have to do some more probing, but we don't have such machines. If
> you encounter any problems, please let us know.
> 

I was hoping for something that could be tested by autoconf's configure
script before the build happens (so we can then auto-enable Zero), but
I couldn't see anything obvious in /proc/cpuinfo and it's not a big issue.

We did find a couple of issues with Zero at build-time that were easy
enough to fix:

http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/b05adee3c184

mostly just the change in signature of a function and the use of InlineSmallCode
which was previously only used when the JIT was enabled.

I haven't done any runtime testing yet though, so there may be other issues.

I'm currently hitting this on x86:

/builddir/build/BUILD/java-1.7.0-openjdk-1.7.0.60-2.5.0pre.2.fc21.i386/openjdk/hotspot/src/share/vm/utilities/elfSymbolTable.cpp:97:53: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         if (sym_addr <= addr && (addr - sym_addr) < st_size) {
                                                     ^
/builddir/build/BUILD/java-1.7.0-openjdk-1.7.0.60-2.5.0pre.2.fc21.i386/openjdk/hotspot/src/share/vm/utilities/elfSymbolTable.cpp:124:55: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
           if (sym_addr <= addr && (addr - sym_addr) < st_size) {
                                                       ^
cc1plus: all warnings being treated as errors

which I assume is due to one of the types being signed or not on x86 as opposed
to other platforms. Digging into it now.

Once it builds on all platforms, it'll be in Fedora rawhide and there should
be a corresponding IcedTea release soon, where other distros will also pick it up.


> Hope to see you at FOSDEM,
> Volker
> 
> 
> On Thu, Jan 30, 2014 at 7:34 PM, Andrew Hughes <gnu.andrew at redhat.com> wrote:
> > Hi all,
> >
> > I'm just about done with a merge of the PPC port into our IcedTea
> > 2.x tree which supports OpenJDK 7 (currently u60 b03). I'd like
> > to enable the port by default, in preference to Zero, but I'm under
> > the impression that not all PPC64 boxes will support it. Is there
> > a way of detecting whether the processor can support the port,
> > via the likes of /proc/cpuinfo or cpuid?
> >
> > Thanks for all your hard work on this. We're already seeing much
> > faster results than when using Zero!
> >
> > Thanks,
> > --
> > 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
> >
> 

-- 
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 ppc-aix-port-dev mailing list