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

Jan Lahoda jlahoda at openjdk.java.net
Tue Nov 23 15:35:28 UTC 2021


On Tue, 23 Nov 2021 15:29:39 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:

>> 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 incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
> 
>  - 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

Looks good to me.

Marked as reviewed by jlahoda (Reviewer).

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

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


More information about the compiler-dev mailing list