Webrev of Oracle ARM & AARCH64 Sources

Edward Nevill edward.nevill at gmail.com
Fri Sep 30 10:32:01 UTC 2016

Hi Bob,

On Wed, 2016-09-28 at 10:07 -0400, Bob Vandette wrote:
> I’m am please to announce that I have completed our internal reviews and can now
> open up the sources to our ARM 32 & 64 bit implementations of JDK9.

Great news.

> Here is a webrev that includes a patch that can be applied on top of the
> (http://hg.openjdk.java.net/aarch32-port/jdk9-arm3264/ ) forest.  
>      http://cr.openjdk.java.net/~bobv/arm3264/webrev <http://cr.openjdk.java.net/~bobv/arm3264/webrev>

I have built this natively on armv7 and aarch64 without problems. In both cases I built the minimal,client,server combination.

I have also tested the server build with JTreg hotspot & langtools.

On aarch64 I got the following results:-

hotspot: Test results: passed: 1,280; failed: 8; error: 43
langtools: Test results: passed: 3,700; failed: 1; error: 29

This is fairly typical, for example, using the Linaro 1609 build I get

hotspot: Test results: passed: 1,271; failed: 17; error: 43
langtools: Test results: passed: 3,715; failed: 3; error: 12

On armv7 I first of all had to pin the jvm.cfg to use -server as it kept on using the client as I was not running on a 'server class machine' (since my armv7 device is a Samsung Chromebook this is fair enough).

However, I then had problems with the test harness crashing with the error

#  Internal Error (synchronizer.cpp:1576), pid=6533, tid=6542
#  guarantee(mid->header()->is_neutral()) failed: invariant

(hs_err here http://cr.openjdk.java.net/~enevill/aarch32/hs_err_pid6533.log)

On a subsequent run the test harness locked up after 85 tests.

It looks like there might be a problem with locks breaking with G1GC. I will keep investigating.

I ran it again using the template interpreter for the test harness and the server for the jdk under test and it ran successfully.

On armv7 I got

hotspot: Test results: passed: 1,202; failed: 11; error: 36
langtools: Test results: passed: 3,718; failed: 5; error: 8

I also did some limited benchmarking which I am not going to share on a public forum. Lets just say the performance of the server JIT on armv7 was pleasing.

Thanks for all your work getting to this stage. It looks good to push and you should shortly have committeer rights, if you don't get them within a few days ping me and I will give ops a nudge.

All the best,

More information about the aarch32-port-dev mailing list