RFR: 8314250: CDS dump error message: Invoker type parameter must start and end with Object: L3I_L [v2]
Ioi Lam
iklam at openjdk.org
Fri Mar 8 16:00:54 UTC 2024
On Fri, 8 Mar 2024 06:51:21 GMT, Calvin Cheung <ccheung at openjdk.org> wrote:
>> To avoid the CDS dump error message, a fix is during dumping a classlist, check if an invoker can be archived.
>> If not, don't write the invoker info into the classlist, i.e. don't call `logLambdaFormInvoker()`. While generating holder classes (in `generateHolderClasses()`), don't add the `MethodType` to the `invokerTypes` if will fail the check in the `build()` method which would result in a `RuntimeException`.
>>
>> Also updated the `MethodHandlesInvokersTest.java` under `appcds/methodHandles` and `appcds/dynamicArchive/methodHandles` to check that the "Failed to generate LambdaForm holder classes" error is not in the output;
>>
>> Passed tiers 1 - 3 testing.
>
> Calvin Cheung has updated the pull request incrementally with one additional commit since the last revision:
>
> @iklam comments and copyright update
Looks good. Just a small nit.
src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java line 28:
> 26: package java.lang.invoke;
> 27:
> 28: //import jdk.internal.misc.CDS;
This line can be removed.
-------------
Marked as reviewed by iklam (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/17953#pullrequestreview-1925195828
PR Review Comment: https://git.openjdk.org/jdk/pull/17953#discussion_r1517911192
More information about the core-libs-dev
mailing list