On Wed, 13 Nov 2024 18:30:22 GMT, Chen Liang <li...@openjdk.org> wrote:
>> After the ClassFile API migration, when serializable lambdas are requested >> for hidden class callers, illegal class name is generated for the >> serialization methods, which previously had legal yet unusable class names, >> as hidden classes cannot be described by a `CONSTANT_Class_info`. >> >> This patch restores a similar older behavior of using legal yet unusable >> class names. Previously, the invalid `.` in hidden class names was replaced >> by a `/` as if a package separator; this patch changes it to a `_` like that >> in the generated lambda's class name. >> >> The bug report shows some unintended and erroneous usages of >> `LambdaMetafactory`. To clarify and to persuade against misuse, I added a >> paragraph of API notes to `LambdaMetafactory`, describing the impact of this >> API being designed to support Java language features. In particular, I used >> the scenario where people assumed LMf generates weak hidden classes, which >> happened in this issue report and in #12493, that misuse can lead to >> resource leaks. > > Chen Liang has updated the pull request incrementally with one additional > commit since the last revision: > > Thanks Jorn for help Marked as reviewed by jvernee (Reviewer). Had a quick discussion with Chen offline. I had mixed up the use case the doc was talking about. The latest version mentions both problematic cases. ------------- PR Review: https://git.openjdk.org/jdk/pull/21912#pullrequestreview-2434119356 PR Comment: https://git.openjdk.org/jdk/pull/21912#issuecomment-2474421684