RFD: AOT for AArch64
Andrew Haley
aph at redhat.com
Tue Mar 27 12:58:35 UTC 2018
On 27/03/18 02:21, dean.long at oracle.com wrote:
> On 3/23/18 4:27 PM, Vladimir Kozlov wrote:
>> Code in AOTCompiledClass.java look strange in try block. Why you need it?
>
> I've seen that code fail as well, but thought it was due to me doing
> something wrong, because it always went away with the final version of
> my changes. It would be great to fix this issue once and for all.
> Andrew, if you have a test case to reproduce the problem, it would be
> great to have it as a regression test.
It always happens for me when processing stubs:
HotSpotResolvedJavaMethod m = HotSpotMethod<ExceptionHandlerStub.exceptionHandler(Object, Word, Register, OptionValues)>
type = m.getDeclaringClass() = HotSpotType<Lorg/graalvm/compiler/hotspot/stubs/ExceptionHandlerStub;, resolved>
type.getName() = Lorg/graalvm/compiler/hotspot/stubs/ExceptionHandlerStub;
getAOTKlassData(name) = null
I can't see where addAOTKlassData() is ever called for stubs code.
If I run with assertions I get:
Exception in thread "main" java.lang.AssertionError: no data for HotSpotType<Lorg/graalvm/compiler/hotspot/stubs/ExceptionHandlerStub;, resolved>
at jdk.aot/jdk.tools.jaotc.AOTCompiledClass.metadataName(AOTCompiledClass.java:441)
at jdk.aot/jdk.tools.jaotc.AOTCompiledClass.metadataName(AOTCompiledClass.java:450)
at jdk.aot/jdk.tools.jaotc.AOTCompiledClass.metadataName(AOTCompiledClass.java:456)
at jdk.aot/jdk.tools.jaotc.MetadataBuilder.addMetadataEntries(MetadataBuilder.java:185)
at jdk.aot/jdk.tools.jaotc.MetadataBuilder.createMethodMetadata(MetadataBuilder.java:119)
If anyone knows where stubs are supposed to be added to
AOTCompiledClass.klassData I'll have a look, but as far as I can see
the answer is "nowhere".
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-dev
mailing list