<p dir="ltr">Anyone? :)</p>
<p dir="ltr">In my brief experimentation on 7u60, only thing I noticed is Enum.ordinal() replaced with constant in compiled method.  I couldn't, however, get it to constant propagate array length, eliminate null receiver check, etc.</p>
<p dir="ltr">sent from my phone</p>
<div class="gmail_quote">On Apr 20, 2015 10:58 AM, "Vitaly Davidovich" <<a href="mailto:vitalyd@gmail.com">vitalyd@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Fixed the flag name in the subject.<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 17, 2015 at 9:07 PM, Vitaly Davidovich <span dir="ltr"><<a href="mailto:vitalyd@gmail.com" target="_blank">vitalyd@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Hi guys,</p>
<p dir="ltr">I'm hoping someone could clarify/confirm my understanding of this experimental flag's effects:</p>
<p dir="ltr">1) final instance array length is constant propagated? Even if array is passed in as ctor arg rather than being instantiated in the ctor?<br>
2) final instance fields seen as never null are forever considered as such? So even if a method call on that object is fully eliminated (e.g. the method is empty) no null check is left behind?<br>
3) concrete runtime type of the instance field is propagated to uses and no additional type checks are done? Say the declared type is an interface/abstract with multiple implementations loaded but only one type stored in the field - is a type check eliminated and calls are fully devirtualized?<br>
4) primitive type final fields have their value constant propagated if compiler sees only one value always stored?<br>
5) do derived classes and base class share field profile or not? For example subclasses always store concrete type but each subclass stores a different type from the others.</p>
<p dir="ltr">Also, there's been some talk about doing these optimizations automatically with invalidations builtin.  Just curious where that stands.</p>
<p dir="ltr">Thanks </p>
<p dir="ltr">sent from my phone</p>
</blockquote></div><br></div></div>
</blockquote></div>