RFR: 8292914: Drop the counter from lambda class names [v5]

David M. Lloyd duke at openjdk.org
Thu Feb 16 14:06:54 UTC 2023


> 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 `Instant.now()` for more precise timestamps.
  
  Using `currentTimeMillis` is imprecise enough that tests may sporadically fail if two lambda classes from the same lambda class are dumped within 1ms of one another. `Instant.now()` is much more precise and also sorts nicely.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12579/files
  - new: https://git.openjdk.org/jdk/pull/12579/files/d56b77a2..c73442b2

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

  Stats: 3 lines in 1 file changed: 1 ins; 0 del; 2 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


More information about the core-libs-dev mailing list