[RFR] jdk9.0.4+12 + functionality

Andrey Petushkov andrey.petushkov at gmail.com
Mon Apr 9 14:42:27 UTC 2018


Dear All,

There are the following changes proposed for review and commit into aarch32-jdk9 repo set:
- update to the latest jdk9u state:
http://cr.openjdk.java.net/~apetushkov/aarch32jdk9.0.4%2b12/ <http://cr.openjdk.java.net/~apetushkov/aarch32jdk9.0.4+12/>
(2Gbyte webrev, not something you really want to look into)
- bring all functionality developed by Azul in course of jdk8 projects
http://cr.openjdk.java.net/~apetushkov/aarch32jdk9-azul/ <http://cr.openjdk.java.net/~apetushkov/aarch32jdk9-azul/>
almost everything is already part of aarch32-jdk8u repo, although we’ve been lagging behind with a few features (primarily c2 and crypto intrinsics). We’re apologising for that. And, again, sorry for brining this in a typical manner of 10K line patch. The reason is that we were not following regular jdk9 development and only recently brought out code in line with java 9. So there was no set of meaningful changes even internally to Azul but rather something close to what you can see at the link above

CPU support:
- Arm v6k minimum
- both v6 and v7 SIMD instructions are used by c2 and intrinsics
- Arm v8 maximum (v8 instructions are used when available)
- no Thumb assembler but C code compiled into Thumb is supported
What’s missing:
- SA
- Compact Strings support
- some cross-platform optimizations
- JVMCI & friends
Quality level:
- all tests we’re typically running for our customers have passed except that we know about 2 crashes in marginal cases. We’re working on fixing those
Noteworthy features:
- c2 including tiered mode
- soft-float with FPU (soft-float ABI, soft-float C code, FPU and SIMD are used by compilers and stubs if available in hardware)
- intrinsics: crc32 (crc32c coming soon), sha1, sha256, sha512, aes, montgomery, multiplyToLen, mulAdd. Intrinsics are available in all execution modes
- c1 and interpreter do support APCS (hello, flame graphs!)
Further support:
- bugfixes, Compact Strings and missing optimizations will be published as soon as we have them developed
- we are planning to base future works on this codebase and would like to contribute the code. We cannot commit to make that in-line with timeline of Java releases since unfortunately we sometimes have to concentrate on something older rather than newer due to apparent reasons

Regards,
Andrey



More information about the aarch32-port-dev mailing list