[lworld] RFR: 8258038: [AARCH64] [lworld] Fix inline type implementation
Nick Gasson
ngasson at openjdk.java.net
Mon Mar 15 09:35:34 UTC 2021
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
-------------
Commit messages:
- Updates and cleanup
- [WIP] 8258038: [AARCH64] [lworld] Fix inline type implementation
Changes: https://git.openjdk.java.net/valhalla/pull/353/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=353&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8258038
Stats: 1418 lines in 21 files changed: 820 ins; 270 del; 328 mod
Patch: https://git.openjdk.java.net/valhalla/pull/353.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/353/head:pull/353
PR: https://git.openjdk.java.net/valhalla/pull/353
More information about the valhalla-dev
mailing list