<br><br><div class="gmail_quote">On Thu, Aug 11, 2011 at 10:41 PM, Hakan Ardo <span dir="ltr">&lt;<a href="mailto:hakan@debian.org">hakan@debian.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Wed, Aug 10, 2011 at 6:42 PM, Hakan Ardo &lt;<a href="mailto:hakan@debian.org">hakan@debian.org</a>&gt; wrote:<br>
&gt;<br>
&gt; I&#39;m not sure why test_instance works on trunk actually, but the way to<br>
&gt; get it to work on this branch I think is to make the heap optimizer<br>
&gt; aware of the setfield_gc&#39;s produced by forcing p22 and then have the<br>
&gt; heap optimizer remove the getfield_gc_pure. Using the pure operations<br>
&gt; optimizer here is not straight forwars as there is no<br>
&gt; getfield_gc_pure(p22).<br>
<br>
</div>This issues does not show up on trunk because of is_forced_virtual()<br>
keeps track of forced virtuals and treats them separately. I dont<br>
think we want specialize loops to inputargs beeing forced virtuals and<br>
guard for this condition at the end of bridges...<br>
<font color="#888888"><br>
--<br>
Håkan Ardö<br>
</font></blockquote></div><br>The only motivation for `is_forced_virtual` was to have fields that are pure be kept as known values (to prevent re-reading), since when you force a virtual the setfields don&#39;t go through the heap cache (which they probably should, TBH, since we know exactly what fields a call can force).<div>
<br></div><div>Alex<br clear="all"><br>-- <br>&quot;I disapprove of what you say, but I will defend to the death your right to say it.&quot; -- Evelyn Beatrice Hall (summarizing Voltaire)<br>&quot;The people&#39;s good is the highest law.&quot; -- Cicero<br>
<br>
</div>