RFR: 8292914: Drop the counter from lambda class names [v6]
Ioi Lam
iklam at openjdk.org
Fri Feb 17 17:09:24 UTC 2023
On Thu, 16 Feb 2023 19:35:54 GMT, David M. Lloyd <duke at openjdk.org> wrote:
>> The class generated for lambda proxies is now defined as a hidden class. This means that the counter, which was used to ensure a unique class name and avoid clashes, is now redundant. In addition to performing redundant work, this also impacts build reproducibility for native image generators which might already have a strategy to cope with hidden classes but cannot cope with indeterminate definition order for lambda proxy classes.
>>
>> This solves JDK-8292914 by making lambda proxy names always be stable without any configuration needed. This would also replace #10024.
>
> David M. Lloyd has updated the pull request incrementally with one additional commit since the last revision:
>
> Use a unique index for the dumped lambda class instead of a time stamp
Java doesn't guarantee to use unique names even for "regular" classes. You can use two class loaders that load two completely different classes with the exact same name.
How does Graal and qbicc handle this?
-------------
PR: https://git.openjdk.org/jdk/pull/12579
More information about the core-libs-dev
mailing list