JDK-8300691 - final variables in for loop headers should accept updates
Liam Miller-Cushon
cushon at google.com
Thu Oct 17 17:12:12 UTC 2024
I analyzed a sample of code using the changes at 08c8b1f3c64. I can
re-analyze with the latest version, but the initial results were:
120 METHODDEF
74 IF
44 FORLOOP
13 WHILELOOP
10 TRY
5 FOREACHLOOP
2 DOLOOP
1 LAMBDA
On Thu, Oct 17, 2024 at 8:08 AM Maurizio Cimadamore <
maurizio.cimadamore at oracle.com> wrote:
>
> On 17/10/2024 16:03, Archie Cobbs wrote:
>
> On Thu, Oct 17, 2024 at 5:34 AM Maurizio Cimadamore <
> maurizio.cimadamore at oracle.com> wrote:
>
>> Funny to see the FOREACHLOOP popping out. This code is (at least) from 17
>> years ago (!!) and predates any form of effectively final analysis - back
>> then even for-each required to hoist the variable in a separate final
>> one :-)
>>
>
> I was wondering about that as well. I didn't realize that there was a
> point where foreach() already existed and this effectively final tweak was
> added. I don't see a relevant JEP, did it predate the JEP process?
>
> Effectively final support was added as part of Java 8 and Project Lambda.
> Java 7 also had some bits of effective finality here and there, but Java 8
> is what sealed the deal. Back then we did not have the JEP process.
>
>
>
>> I realize, the important info is not where the dummy variable is
>> declared. It's the declaration of the variable it points to in the
>> initializer that matters!
>>
>
> D'oh, yes of course... easy to fix though.
>
> Thanks
>
>
> Here are the new stats - these look more like what one might expect:
>
> 87 METHODDEF
> 11 FORLOOP
> 3 TRY
> 3 IF
> 3 FOREACHLOOP
> 3 DOLOOP
> 2 WHILELOOP
> 1 CASE
>
> Now there are 3 FOREACHLOOP's :)
>
> Yowza! For each gained more than the regular loop :-)
>
> Maurizio
>
>
> -Archie
>
> --
> Archie L. Cobbs
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/amber-dev/attachments/20241017/5bbc8073/attachment-0001.htm>
More information about the amber-dev
mailing list