[lworld] RFR: 8258038: [AARCH64] [lworld] Fix inline type implementation

Tobias Hartmann thartmann at openjdk.java.net
Wed Mar 17 10:18:02 UTC 2021


On Thu, 25 Feb 2021 09:53:44 GMT, Nick Gasson <ngasson at openjdk.org> wrote:

> This patch updates the original AArch64 lworld port from December 2019 to match the x86 C1/C2/interpreter changes since then. It doesn't support InlineTypePassFieldsAsArgs or InlineTypeReturnedAsFields: this can be added later.
> 
> Known issues:
> 
> * compiler/valhalla/inlinetypes/TestLWorld test9 fails with an internal C2 error:
> 
>   #  Internal Error (/home/nicgas01/valhalla/src/hotspot/share/opto/buildOopMap.cpp:360), pid=2011, tid=2025
>   #  assert(false) failed: there should be a oop in OopMap instead of a live raw oop at safepoint
> 
>   I haven't investigated this but it doesn't seem to be related to any of the platform specific code. I'll make a separate JBS issue for it.
> 
> * compiler/valhalla/inlinetypes/TestArrays.java and TestNullableArrays.java fail some sub-tests with:
> 
>   stderr: [OpenJDK 64-Bit Server VM warning: InlineTypePassFieldsAsArgs is not supported on this platform
>   OpenJDK 64-Bit Server VM warning: InlineTypeReturnedAsFields is not supported on this platform
>   Exception in thread "main" java.lang.RuntimeException: Graph for 'TestNullableArrays::test1' contains different number of match nodes (expected 1 but got 0):
>   : expected 1 to equal 0
>   	at jdk.test.lib.Asserts.fail(Asserts.java:594)
>   	at jdk.test.lib.Asserts.assertEquals(Asserts.java:205)
>   	at jdk.test.lib.Asserts.assertEQ(Asserts.java:178)
>   	at compiler.valhalla.inlinetypes.InlineTypeTest.parseOutput(InlineTypeTest.java:600)
>   	at compiler.valhalla.inlinetypes.InlineTypeTest.execute_vm(InlineTypeTest.java:482)
>   	at compiler.valhalla.inlinetypes.InlineTypeTest.run(InlineTypeTest.java:436)
>   	at compiler.valhalla.inlinetypes.TestNullableArrays.main(TestNullableArrays.java:58)
>   ]
> 
>   I think this is related to not implementing passing/returning fields.
> 
> * compiler/valhalla/inlinetypes/TestBufferTearing.java fails intermittently. I haven't investigated this and will make a separate JBS issue for it.
> 
> This patch includes two changes that I also submitted to openjdk/jdk:
> * https://github.com/openjdk/jdk/commit/f7e0a09802f74
> * https://github.com/openjdk/jdk/commit/be67aaabe63a

Great work! This looks good to me.

-------------

Marked as reviewed by thartmann (Committer).

PR: https://git.openjdk.java.net/valhalla/pull/353



More information about the valhalla-dev mailing list