> 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 refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: 8292914: Drop the counter from lambda class names 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. Additionally, the lambda proxy class dumper is enhanced to prepend a raw timestamp before the filename. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/12579/files - new: https://git.openjdk.org/jdk/pull/12579/files/5ab516a5..0e109beb Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=12579&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12579&range=00-01 Stats: 3 lines in 1 file changed: 2 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/12579.diff Fetch: git fetch https://git.openjdk.org/jdk pull/12579/head:pull/12579 PR: https://git.openjdk.org/jdk/pull/12579