Template interpreter status in JDK7/IcedTea 2.5.2 for PPC64/PPC64LE

Andrew Hughes gnu.andrew at redhat.com
Mon Sep 8 16:00:05 UTC 2014



----- Original Message -----
> Hi Tiago,
> 
> we already have the template interpreter in our
> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot repository (even
> for ppc64le :) since quite some time (~March 2014). See:
> 
> 8050942: PPC64: implement template interpreter for ppc64le
> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/1176e8ff9f90
> 
> New files for template interpreter Missed from 8036976: PPC64:
> implement the template interpreter
> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/6f0b8f13db4d
> 
> 8036976: PPC64: implement the template interpreter
> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/7b62421e491e
> 
> Without additional parameters the template interpreter is being build
> as the default interpreter on ppc64 - at least if you build right from
> our PPC-AIX-Port repository (see for example
> http://cr.openjdk.java.net/~simonis/ppc-aix-port/logs/linuxppc64/nightly/output-jdk7u-fastdebug.log.gz
> for recent build logs). Maybe the IcedTea build still sets
> "CC_INTERP=true" when building on linux/ppc64? This isn't required any
> more and should be removed as we don't actively support the cpp
> interpreter any more.

It does. README-ppc.html still says it should.

I never understood why it wasn't just set by the makefiles anyway, then
you could have taken it out again when it was no longer needed. Instead,
we end up with dated build instructions like this :(

To be specific, IcedTea has:

ifeq ($(ARCH), ppc64)
  CC_INTERP=true
endif

and I'll now remove this for 2.5.3.

> 
> Regarding the question on how to detect the template interpreter - I
> don't know a perfect answer either. But you could for example use
> "-XX:+UnlockDiagnosticVMOptions -XX:+PrintInterpreter". If you're
> running with the template interpreter, the output will be much longer
> and print the code templates for each bytecode (if you have the
> hsdis-ppc64.so library in the library path it will even print the
> disassembly of each bytecode tempalate).
> 
> Regards,
> Volker
> 
> On Sat, Sep 6, 2014 at 7:29 AM, Tiago Stürmer Daitx <tdaitx at br.ibm.com>
> wrote:
> > All-
> >
> > What's the status of the template interpreter for JDK7 in the
> > ppc-aix-port?
> >
> > I can see that JDK 9 does build with the Template Interpreter for both
> > PPC64 and PPC64LE, but JDK7 seems to be still using the C++ Interpreter
> > on both archs - at least when build from IcedTea 2.5.2, which supposedly
> > merged the head from PPC-AIX-Port repo (I haven't build JDK 7 directly
> > from the PPC-AIX-Port repo to compare the results... yet).
> >
> > What am I missing? How should/can I be sure to enable the template
> > interpreter in a  JDK7 build?
> >
> > I used
> >
> > $ nm -C libjvm.so | grep TemplateTable::initialize
> > $ nm -C libjvm.so | grep CppInterpreter::initialize
> >
> > to identify which interpreter was build (stolen from [1]), let me know
> > if there an easier way to do that.
> >
> > Regards,
> > Tiago
> >
> > [1]
> > http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-October/011431.html
> >
> >
> > --
> > Tiago Stürmer Daitx
> > Linux Technology Center [LTC|IBM]
> > tdaitx at br.ibm.com
> >
> 

-- 
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