[aarch64-port-dev ] RFD: AOT for AArch64

Edward Nevill edward.nevill at gmail.com
Sat Mar 24 18:54:04 UTC 2018


On Sat, 2018-03-24 at 16:09 +0000, Edward Nevill wrote:
> On Fri, 2018-03-23 at 18:11 +0000, Andrew Haley wrote:
> > 
> > 
> Looks promising, but I get as far as here and then get
> 
> Exception in thread "main" jdk.vm.ci.common.JVMCIError: expected VM constant not found: CardTableModRefBS::dirty_card
> 

It looks like your patch

http://cr.openjdk.java.net/~aph/jaotc/jdk-hs-1/

didn't apply cleanly to tip of http://hg.openjdk.java.net/jdk/hs

I tried updating to

changeset:   48711:e321560ac819
user:        adinn
date:        Thu Jan 25 14:47:27 2018 +0000
files:       src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
description:
8195859: AArch64: vtableStubs gtest fails after 8174962
Summary: gtest vtableStubs introduced by 8174962 fails on AArch64 with an invalid insn encoding
Reviewed-by: duke

Which looks like the rev you are basing your patch on based on the rejected patch.

It seems to get further, but now I get

ed at ubuntu:~/openjdk$ /home/ed/openjdk/hs/build/linux-aarch64-normal-server-release/images/jdk/bin/jaotc -J--module-path=/home/ed/openjdk/graal/sdk/mxbuild/modules/org.graalvm.graal_sdk.jar:/home/ed/openjdk/graal/truffle/mxbuild/modules/com.oracle.truffle.truffle_api.jar -J--upgrade-module-path=/home/ed/openjdk/graal/compiler/mxbuild/modules/jdk.internal.vm.compiler.jar Queens.class --output Queens.so
Error: Failed compilation: Queens.main([Ljava/lang/String;)V: org.graalvm.compiler.graph.GraalGraphError: org.graalvm.compiler.debug.GraalError: Emitting code to load a metaspace address is not currently supported on aarch64
	at node: 287|LoadConstantIndirectly
Error: Failed compilation: Queens.print([I)V: org.graalvm.compiler.graph.GraalGraphError: org.graalvm.compiler.debug.GraalError: Emitting code to load a metaspace address is not currently supported on aarch64
	at node: 1273|LoadConstantIndirectly
Exception in thread "main" java.lang.NoSuchMethodError: jdk.tools.jaotc.aarch64.AArch64ELFMacroAssembler.addressOf(Ljdk/vm/ci/code/Register;)V
	at jdk.aot/jdk.tools.jaotc.aarch64.AArch64ELFMacroAssembler.getPLTStaticEntryCode(AArch64ELFMacroAssembler.java:68)
	at jdk.aot/jdk.tools.jaotc.CodeSectionProcessor.addCallStub(CodeSectionProcessor.java:139)
	at jdk.aot/jdk.tools.jaotc.CodeSectionProcessor.process(CodeSectionProcessor.java:117)
	at jdk.aot/jdk.tools.jaotc.DataBuilder.prepareData(DataBuilder.java:142)
	at jdk.aot/jdk.tools.jaotc.Main.run(Main.java:188)
	at jdk.aot/jdk.tools.jaotc.Main.run(Main.java:101)
	at jdk.aot/jdk.tools.jaotc.Main.main(Main.java:80)

Is this known/expected? What revision of jdk/hs are you building with? I'd like to see this working.

Thanks,
Ed.



More information about the aarch64-port-dev mailing list