[aarch64-port-dev ] RFR: JDK8: Merge up to jdk8u20-b16

Edward Nevill edward.nevill at linaro.org
Tue Jun 10 10:28:46 UTC 2014


On Fri, 2014-06-06 at 12:04 +0100, Andrew Haley wrote:
> On 06/06/2014 11:59 AM, Edward Nevill wrote:
> > On Thu, 2014-06-05 at 15:43 +0100, Edward Nevill wrote:
> > 
> >> I appreciate that there is an increased no. of failures for hotspot over x86, however I would like to push this merge to get it off my desk and go back and look at the failures.
> > 
> > Just to follow up on this.
> > 
> > Of the 19 server hotspot failures
> > 
> > 1) 7 fail with the message "Type profiling not implemented on this platform", which is correct
> > 2) 6 also fail on x86
> > 3) 2 fail with illegal options to jmap. These two tests pass options to jmap which are no longer supported in JDK8, -heap and -F. The reason this appears to work on x86 is that the test suite does not use the correct path to the jdk under test and ends up picking up the default jdk (usually jdk7) which does support these options.
> > - 1 failed with a configuration issue (the test host didn't know its own hostname).
> > 
> > This leaves 3 failures which I am looking into.
> > 
> > FAILED: compiler/uncommontrap/TestSpecTrapClassUnloading.java

This is another case of Type Profiling.

The fatal error is not generated with this test because this test uses -XX:-TieredCompilation which bypasses the fatal error in C1.

The error occurs now for 2 reasons.

1. Up to u5_b13 UseTypeSpeculation was an experimental option and was set to false. In u20_b16 this has become a product option and defaults to true.

2. In arguments.cpp there was the following code.

#ifndef X86
  // Only on x86 for now
  FLAG_SET_DEFAULT(TypeProfileLevel, 0);
#endif

This has been deleted in u20_b16 (because support for TypeProfileLevel has been added to sparc).

This could be replaced for the moment with

#ifdef AARCH64
  FLAG_SET_DEFAULT(TypeProfileLevel, 0);
#endif

The alternative is to exclude all tests which set TypeProfileLevel.

I think UseTypeSpeculation can be left enabled. The implementation seems to be exclusively in machine independant parts of C2.

> > FAILED: compiler/whitebox/IsMethodCompilableTest.java
> > FAILED: gc/metaspace/TestPerfCountersAndMemoryPools.java

These two tests also fail with the current jdk8 tip (u5_b13) and also fail with the previous tip (b132), so the merge to u20_b16 is not a regression in this respect.

> I'm a little bit nervous about allowing this one through right now because
> we're building OS packages.  (And I'm sure that's not just Red Hat, but other
> distros too.)  We perhaps should have a development branch.

Any better?

Ed.




More information about the aarch64-port-dev mailing list