RFR: 8295102: Always load @lambda-form-invoker lines from default classlist [v3]

Ioi Lam iklam at openjdk.org
Wed Oct 12 17:12:15 UTC 2022


On Wed, 12 Oct 2022 09:38:18 GMT, Claes Redestad <redestad at openjdk.org> wrote:

> This patch ensures that the methods in the LF holder classes _at least_ contain the set of methods as generated by jlink at build, which seems to me to be reasonable to hold as an invariant to avoid surprises at runtime. (Does resolving a LF from a holder does trigger emitting a `@lambda-form-invoker` line when generating the classlist?)

The  `@lambda-form-invoker` lines are generated in MethodHandleStatics.java::traceLambdaForm() when LambdaForms are being resolved:

https://github.com/openjdk/jdk/blob/5699041adb64f41c90090fd68494430ecf8660d4/src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java#L122-L131

This is the same place where GenerateLinkOptData.gmk gathers information for generating the Holder classes for the JDK's module image.

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

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


More information about the hotspot-runtime-dev mailing list