On Wed, 3 Jun 2026 19:19:42 GMT, Vicente Romero <[email protected]> wrote:

> When dealing with strict fields with initializers at the time we track them 
> there is no constructor that we can use to later retrieve them at lowering 
> time. Those fields can drop on the floor and no proxies are created for them. 
> This PR fixes this issue,
> 
> TIA
> 
> 
> 
> 
> ---------
> - [X] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LocalProxyVarsGen.java 
line 120:

> 118:          * we need to recover those now and add them to this constructor
> 119:          */
> 120:         if (fieldsReadInPrologue.get(classDecl) != null) {

We never clear this entry up, right?

src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java line 424:

> 422:      *  @param classDecl         The class declaration to normalize.
> 423:      */
> 424:     List<JCTree> normalizeDefs(JCClassDecl classDecl) {

I don't oppose this change -- but note that I think changes can be minimized by 
taking the GenEnv (which should have an enclosing class?)

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2507#discussion_r3351872923
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2507#discussion_r3351888231

Reply via email to