[aarch64-port-dev ] Initial SVE trial in OpenJDK with ARMIE
Ningsheng Jian
ningsheng.jian at linaro.org
Fri Mar 9 04:08:21 UTC 2018
Hi,
As Stuart mentioned in the last fireside chat, I had tried the ARM
Instruction Emulator (ARMIE [1]) with OpenJDK. Since the SVE hardware
is still not available, ARMIE is a good choice for early SVE
enablement work.
I've enabled some SVE instructions and use them in arraycopy stub
code. The webrev:
http://cr.openjdk.java.net/~njian/sve/copy-intrinsic.webrev0/
And ran the test case:
http://cr.openjdk.java.net/~njian/sve/ArrayCopyTest.java
in AArch64 hardware with:
$ armie -msve-vector-bits=1024 -s
~/jdk/master/build-release/images/jdk/bin/java -XX:+UseSVE
ArrayCopyTest
It works fine, and with "-s" option it can show which SVE instructions
have been executed.
With the jtreg patched [2], the initial SVE patch could also pass
jtreg tests with ARMIE.
Note: one issue I've met is, when running ARMIE and using java
ProcessBuilder to create new process, it will report
StackOverflowError. This is a limitation for current ARMIE and
enlarging the reaper process stack size could work around this.
[1] https://developer.arm.com/products/software-development-tools/hpc/arm-instruction-emulator
[2] http://cr.openjdk.java.net/~njian/sve/jtreg-armie-support.patch
Thanks,
Ningsheng
More information about the aarch64-port-dev
mailing list