[aarch64-port-dev ] RFD: AOT for AArch64
Yang Zhang
yang.zhang at linaro.org
Tue Apr 3 02:44:37 UTC 2018
Hi Andrew
Thanks for your great work on aot.
I'm also testing your patches on jdk and graal. There are many
discussions on your patches. I'm not sure if I miss some updates in
the comments. Could you share your latest patches(hs and graal) and
jtreg command so that I can test them in my environment again?
Regards
Yang
On 29 March 2018 at 23:46, Andrew Haley <aph at redhat.com> wrote:
> There's a problem with assertions being fired which is apparently due
> to a recent Graal bug. Try running without assertions:
>
> diff -r ee513596f3ee test/hotspot/jtreg/compiler/aot/AotCompiler.java
> --- a/test/hotspot/jtreg/compiler/aot/AotCompiler.java Tue Jan 30 16:41:40 2018 +0100
> +++ b/test/hotspot/jtreg/compiler/aot/AotCompiler.java Thu Mar 29 16:37:21 2018 +0100
> @@ -114,8 +114,8 @@
> args.add(linker);
> }
> // Execute with asserts
> - args.add("-J-ea");
> - args.add("-J-esa");
> + // args.add("-J-ea");
> + // args.add("-J-esa");
> return launchJaotc(args, extraopts);
> }
>
> With that change, I get two failures. If you're seeing a lot more
> failures than that, please look t your test configuration.
>
> Passed: compiler/aot/calls/fromAot/AotInvokeDynamic2AotTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeDynamic2CompiledTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeDynamic2NativeTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeDynamic2InterpretedTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeInterface2InterpretedTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeInterface2AotTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeInterface2CompiledTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeInterface2NativeTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeSpecial2AotTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeSpecial2NativeTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeSpecial2CompiledTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeSpecial2InterpretedTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeStatic2AotTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeStatic2InterpretedTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeStatic2NativeTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeStatic2CompiledTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeVirtual2AotTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeVirtual2CompiledTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeVirtual2InterpretedTest.java
> Passed: compiler/aot/calls/fromAot/AotInvokeVirtual2NativeTest.java
> Passed: compiler/aot/calls/fromCompiled/CompiledInvokeDynamic2AotTest.java
> Passed: compiler/aot/calls/fromCompiled/CompiledInvokeInterface2AotTest.java
> Passed: compiler/aot/calls/fromCompiled/CompiledInvokeSpecial2AotTest.java
> Passed: compiler/aot/calls/fromCompiled/CompiledInvokeStatic2AotTest.java
> Passed: compiler/aot/calls/fromInterpreted/InterpretedInvokeInterface2AotTest.java
> Passed: compiler/aot/calls/fromInterpreted/InterpretedInvokeSpecial2AotTest.java
> Passed: compiler/aot/calls/fromCompiled/CompiledInvokeVirtual2AotTest.java
> Passed: compiler/aot/calls/fromInterpreted/InterpretedInvokeDynamic2AotTest.java
> Passed: compiler/aot/calls/fromNative/NativeInvokeStatic2AotTest.java
> Passed: compiler/aot/calls/fromInterpreted/InterpretedInvokeStatic2AotTest.java
> Passed: compiler/aot/calls/fromInterpreted/InterpretedInvokeVirtual2AotTest.java
> Passed: compiler/aot/calls/fromNative/NativeInvokeSpecial2AotTest.java
> Passed: compiler/aot/cli/jaotc/ClasspathOptionUnknownClassTest.java
> Passed: compiler/aot/cli/jaotc/CompileClassTest.java
> Passed: compiler/aot/calls/fromNative/NativeInvokeVirtual2AotTest.java
> Passed: compiler/aot/cli/jaotc/CompileClassWithDebugTest.java
> Passed: compiler/aot/cli/jaotc/CompileDirectoryTest.java
> Passed: compiler/aot/cli/jaotc/CompileModuleTest.java
> Passed: compiler/aot/cli/jaotc/CompileJarTest.java
> Passed: compiler/aot/cli/jaotc/ListOptionNotExistingTest.java
> Passed: compiler/aot/cli/jaotc/ListOptionTest.java
> Passed: compiler/aot/cli/jaotc/ListOptionWrongFileTest.java
> Passed: compiler/aot/cli/DisabledAOTWithLibraryTest.java
> Passed: compiler/aot/cli/IncorrectAOTLibraryTest.java
> Passed: compiler/aot/cli/NonExistingAOTLibraryTest.java
> Passed: compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/collect/directory/DirectorySourceProviderTest.java
> Passed: compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/collect/jar/JarSourceProviderTest.java
> Passed: compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/collect/module/ModuleSourceProviderTest.java
> Passed: compiler/aot/cli/SingleAOTLibraryTest.java
> Passed: compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/collect/ClassSearchTest.java
> Passed: compiler/aot/cli/MultipleAOTLibraryTest.java
> Passed: compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/collect/ClassSourceTest.java
> Passed: compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/collect/SearchPathTest.java
> Passed: compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/NativeOrderOutputStreamTest.java
> Passed: compiler/aot/verification/vmflags/NotTrackedFlagTest.java
> Passed: compiler/aot/cli/SingleAOTOptionTest.java
> Passed: compiler/aot/verification/vmflags/TrackedFlagTest.java
> Passed: compiler/aot/verification/ClassAndLibraryNotMatchTest.java
> Passed: compiler/aot/SharedUsageTest.java
> TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Method is unexpectedly compiled after deoptimization: expected false, was true
> --------------------------------------------------
> Passed: compiler/aot/RecompilationTest.java
> Test results: passed: 60; failed: 1
> Report written to /local/jdk-hs/build/linux-aarch64-normal-server-release/test-results/jtreg_test_hotspot_jtreg_compiler_aot/html/report.html
> Results written to /local/jdk-hs/build/linux-aarch64-normal-server-release/test-support/jtreg_test_hotspot_jtreg_compiler_aot
> Error: Some tests failed or other problems occurred.
> Finished running test 'jtreg:test/hotspot/jtreg/compiler/aot'
> Test report is stored in build/linux-aarch64-normal-server-release/test-results/jtreg_test_hotspot_jtreg_compiler_aot
>
> ==============================
> Test summary
> ==============================
> TEST TOTAL PASS FAIL ERROR
>>> jtreg:test/hotspot/jtreg/compiler/aot 61 60 1 0 <<
> ==============================
> TEST FAILURE
>
> * jtreg:test/hotspot/jtreg/compiler/jvmci
>
> Running test 'jtreg:test/hotspot/jtreg/compiler/jvmci'
> Passed: compiler/jvmci/compilerToVM/AsResolvedJavaMethodTest.java
> Passed: compiler/jvmci/compilerToVM/CollectCountersTest.java
> Passed: compiler/jvmci/compilerToVM/DoNotInlineOrCompileTest.java
> --------------------------------------------------
> ACTION: main -- Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: CompileCodeTestCase{executable=public default int compiler.jvmci.compilerToVM.CompileCodeTestCase$Interface.defaultMethod(java.lang.Object), bci=-1} : 2nd invocation returned different value: expected
> --------------------------------------------------
> Passed: compiler/jvmci/compilerToVM/AllocateCompileIdTest.java
> Passed: compiler/jvmci/compilerToVM/ExecuteInstalledCodeTest.java
> Passed: compiler/jvmci/compilerToVM/FindUniqueConcreteMethodTest.java
> Passed: compiler/jvmci/compilerToVM/DebugOutputTest.java
> Passed: compiler/jvmci/compilerToVM/GetBytecodeTest.java
> Passed: compiler/jvmci/compilerToVM/GetClassInitializerTest.java
> Passed: compiler/jvmci/compilerToVM/GetConstantPoolTest.java
> Passed: compiler/jvmci/compilerToVM/GetExceptionTableTest.java
> Passed: compiler/jvmci/compilerToVM/GetImplementorTest.java
> Passed: compiler/jvmci/compilerToVM/GetLineNumberTableTest.java
> Passed: compiler/jvmci/compilerToVM/GetFlagValueTest.java
> Passed: compiler/jvmci/compilerToVM/GetMaxCallTargetOffsetTest.java
> Passed: compiler/jvmci/compilerToVM/GetLocalVariableTableTest.java
> Passed: compiler/jvmci/compilerToVM/GetNextStackFrameTest.java
> Passed: compiler/jvmci/compilerToVM/GetResolvedJavaMethodTest.java
> Passed: compiler/jvmci/compilerToVM/GetStackTraceElementTest.java
> Passed: compiler/jvmci/compilerToVM/GetVtableIndexForInterfaceTest.java
> Passed: compiler/jvmci/compilerToVM/GetSymbolTest.java
> Passed: compiler/jvmci/compilerToVM/HasFinalizableSubclassTest.java
> Passed: compiler/jvmci/compilerToVM/HasNeverInlineDirectiveTest.java
> Passed: compiler/jvmci/compilerToVM/IsCompilableTest.java
> Passed: compiler/jvmci/compilerToVM/HasCompiledCodeForOSRTest.java
> Passed: compiler/jvmci/compilerToVM/IsMatureTest.java
> Passed: compiler/jvmci/compilerToVM/JVM_RegisterJVMCINatives.java
> Passed: compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java
> Passed: compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/LookupNameInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/LookupTypeTest.java
> Passed: compiler/jvmci/compilerToVM/ReadConfigurationTest.java
> Passed: compiler/jvmci/compilerToVM/MethodIsIgnoredBySecurityStackWalkTest.java
> Passed: compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/ResolveMethodTest.java
> Passed: compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/ReprofileTest.java
> Passed: compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java
> Passed: compiler/jvmci/compilerToVM/ShouldDebugNonSafepointsTest.java
> Passed: compiler/jvmci/compilerToVM/ShouldInlineMethodTest.java
> Passed: compiler/jvmci/errors/TestInvalidCompilationResult.java
> Passed: compiler/jvmci/errors/TestInvalidDebugInfo.java
> Passed: compiler/jvmci/errors/TestInvalidOopMap.java
> Passed: compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java
> Passed: compiler/jvmci/events/JvmciShutdownEventTest.java
> Passed: compiler/jvmci/events/JvmciNotifyInstallEventTest.java
> Passed: compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotConstantReflectionProviderTest.java
> Passed: compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MethodHandleAccessProviderTest.java
> Passed: compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderTest.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveConcreteMethodTest.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantTest.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/RedefineClassTest.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestConstantReflectionProvider.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaMethod.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaType.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaField.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java
> Passed: compiler/jvmci/meta/StableFieldTest.java
> Passed: compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java
> Passed: compiler/jvmci/TestJVMCIPrintProperties.java
> Passed: compiler/jvmci/JVM_GetJVMCIRuntimeTest.java
> Passed: compiler/jvmci/TestValidateModules.java
> Passed: compiler/jvmci/SecurityRestrictionsTest.java
> Passed: compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java
> Test results: passed: 72; failed: 1
> Report written to /local/jdk-hs/build/linux-aarch64-normal-server-release/test-results/jtreg_test_hotspot_jtreg_compiler_jvmci/html/report.html
> Results written to /local/jdk-hs/build/linux-aarch64-normal-server-release/test-support/jtreg_test_hotspot_jtreg_compiler_jvmci
> Error: Some tests failed or other problems occurred.
> Finished running test 'jtreg:test/hotspot/jtreg/compiler/jvmci'
> Test report is stored in build/linux-aarch64-normal-server-release/test-results/jtreg_test_hotspot_jtreg_compiler_jvmci
>
> ==============================
> Test summary
> ==============================
> TEST TOTAL PASS FAIL ERROR
>>> jtreg:test/hotspot/jtreg/compiler/jvmci 73 72 1 0 <<
> ==============================
> TEST FAILURE
More information about the aarch64-port-dev
mailing list