RFR: 8327499: MethodHandleStatics.traceLambdaForm includes methods that cannot be generated

Chen Liang liach at openjdk.org
Fri May 10 00:50:13 UTC 2024


GenerateJLIClassesHelper has been making wrong assumptions about Invoker's LambdaForm method type parameters. Since they are distinct from those of Linkers, they are now tracked and generated separately. It seems that no proper invoker was ever generated before, except it happens that most invoker signatures can be taken as linker signature so we never detected it.

Requesting @iklam for a review; since I don't know how to deal with CDS, I have to relay to someone else to ensure this fixes the problem from the CDS side as well.

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

Commit messages:
 - No-arg case
 - Fix exception messages
 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/generate-invoker
 - Fix invoker generation (invoker MH + called MH, 2 leading objs) and add test
 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/generate-invoker
 - 8327499: MethodHandleStatics.traceLambdaForm includes methods that cannot be generated

Changes: https://git.openjdk.org/jdk/pull/19164/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19164&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8327499
  Stats: 136 lines in 3 files changed: 105 ins; 11 del; 20 mod
  Patch: https://git.openjdk.org/jdk/pull/19164.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19164/head:pull/19164

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


More information about the core-libs-dev mailing list