> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21912/files
  - new: https://git.openjdk.org/jdk/pull/21912/files/2306ceba..6b996c3a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=21912&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21912&range=03-04

  Stats: 6 lines in 1 file changed: 3 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/21912.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21912/head:pull/21912

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

Reply via email to