<div><br></div>As far as I know the final on local variables is only a hint for the java compiler (javac), not jit (hotspot) engine. Detection of loop invariants is done at runtime (during code jitting) so there&#39;s really no difference between any of the following in modern Java jits:<div>

<br></div><div>1) (final) int max = array.length;</div><div>for (int i = 0; i &lt; max; i++) {}</div><div><br></div><div><div>2)¬†for (int i = 0; i &lt; array.length; i++) {}</div><div><br></div><div>Dawid</div><div><br></div>

<br><div class="gmail_quote">2011/11/20 Konrad M. <span dir="ltr">&lt;<a href="mailto:konrad.kruczynski@gmail.com">konrad.kruczynski@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

On the other hand, maybe it could be possible to add the final-like<br>
mechanism to Mono&#39;s compiler. Such mechanism would be beneficial if the<br>
CLR had some notion of local readonly variables. F# uses non-mutable<br>
variables a lot, so maybe CLR recognizes it. I am not sure what kind of<br>
transparent denotation could be used - maybe some kind of comment, like<br>
it was done in MS Java in the pre-annotations days.<br>
<br>
Does Mono team see this as something worth considering? Probably proper<br>
analysis of assignments is a better idea.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Regards,<br>
 Konrad<br>
<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</div></div></blockquote></div><br></div>