On Thu, 4 Jun 2026 09:00:24 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).
>
> Vicente Romero has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Apply suggestion from @liach
>   
>   Co-authored-by: Chen Liang <[email protected]>

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

> 121:         if (fieldsReadInPrologue.get(classDecl) != null) {
> 122:             earlyReads = fieldsReadInPrologue.get(classDecl);
> 123:             fieldsReadInPrologue.remove(classDecl);

Doesn't this suffer from the problem you were trying to avoid -- e.g. don't 
remove field early reads before you have seen _all_ constructors?

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

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

Reply via email to