<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<font size="4" face="monospace">I'm guessing, too, that many of
those IFs really are hiding METHODDEF or FORLOOP?</font><br>
<br>
<br>
<div class="moz-cite-prefix">On 10/17/2024 1:12 PM, Liam
Miller-Cushon wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAL4QsgspTkTQ33CeT3Qp6Hxw8gsT=P8DZS3K9zmiiq6BHtOS5w@mail.gmail.com">
<div dir="ltr">I analyzed a sample of code using the changes
at 08c8b1f3c64. I can re-analyze with the latest version, but
the initial results were:
<div><br>
</div>
<div> 120 METHODDEF<br>
74 IF<br>
44 FORLOOP<br>
13 WHILELOOP<br>
10 TRY<br>
5 FOREACHLOOP<br>
2 DOLOOP<br>
1 LAMBDA</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Oct 17, 2024 at
8:08 AM Maurizio Cimadamore <<a href="mailto:maurizio.cimadamore@oracle.com" moz-do-not-send="true" class="moz-txt-link-freetext">maurizio.cimadamore@oracle.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p><br>
</p>
<div>On 17/10/2024 16:03, Archie Cobbs wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">On Thu, Oct 17, 2024 at 5:34 AM Maurizio
Cimadamore <<a href="mailto:maurizio.cimadamore@oracle.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">maurizio.cimadamore@oracle.com</a>>
wrote:</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>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 <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">final</code>
one :-)</div>
</div>
</blockquote>
<div><br>
</div>
<div>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?<br>
</div>
</div>
</div>
</blockquote>
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.<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div> <br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>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!</div>
</div>
</blockquote>
<div><br>
</div>
<div>D'oh, yes of course... easy to fix though.</div>
</div>
</div>
</blockquote>
Thanks<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>Here are the new stats - these look more like
what one might expect:</div>
<div><br>
</div>
<div><span style="font-family:monospace"> 87
METHODDEF<br>
11 FORLOOP<br>
3 TRY<br>
3 IF<br>
3 FOREACHLOOP<br>
3 DOLOOP<br>
2 WHILELOOP<br>
1 CASE</span></div>
<div><br>
</div>
<div>Now there are 3 <span style="font-family:monospace">FOREACHLOOP</span>'s
:)<br>
</div>
</div>
</div>
</blockquote>
<p>Yowza! For each gained more than the regular loop :-)</p>
<p>Maurizio<br>
</p>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>-Archie<br>
</div>
</div>
<br>
<span class="gmail_signature_prefix">-- </span><br>
<div dir="ltr" class="gmail_signature">Archie L. Cobbs<br>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
<br>
</body>
</html>