RFR: 8271623: Omit enclosing instance fields from inner classes that don't use it [v6]

Liam Miller-Cushon cushon at openjdk.java.net
Tue Nov 23 15:29:39 UTC 2021


> This change omits the synthetic `this$0` field from inner classes that do not access any enclosing instance state.

Liam Miller-Cushon has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:

 - Restore accidentally removed flag from BridgeMethodsForLambdaTest
 - Negate condition inside loop
 - Clean up tests
 - Use a shorter name for Target setting
 - Don't remove enclosing instance fields from serializable classes without serialVersionUIDs
 - Enable enclosing instance optimization for --release 18 and newer
 - Add a test case with nested inner classes
 - 8271623: Omit enclosing instance fields from inner classes that don't use it

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

Changes: https://git.openjdk.java.net/jdk/pull/4966/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4966&range=05
  Stats: 451 lines in 17 files changed: 396 ins; 22 del; 33 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4966.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4966/head:pull/4966

PR: https://git.openjdk.java.net/jdk/pull/4966


More information about the compiler-dev mailing list