RFR: 8314250: CDS dump error message: Invoker type parameter must start and end with Object: L3I_L [v2]

Calvin Cheung ccheung at openjdk.org
Fri Mar 8 06:51:21 UTC 2024


> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/17953/files
  - new: https://git.openjdk.org/jdk/pull/17953/files/092171f2..38d64c10

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=17953&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17953&range=00-01

  Stats: 49 lines in 17 files changed: 1 ins; 13 del; 35 mod
  Patch: https://git.openjdk.org/jdk/pull/17953.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17953/head:pull/17953

PR: https://git.openjdk.org/jdk/pull/17953


More information about the core-libs-dev mailing list