<br><br><div class="gmail_quote">On Thu, Aug 11, 2011 at 10:41 PM, Hakan Ardo <span dir="ltr"><<a href="mailto:hakan@debian.org">hakan@debian.org</a>></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 <<a href="mailto:hakan@debian.org">hakan@debian.org</a>> wrote:<br>
><br>
> I'm not sure why test_instance works on trunk actually, but the way to<br>
> get it to work on this branch I think is to make the heap optimizer<br>
> aware of the setfield_gc's produced by forcing p22 and then have the<br>
> heap optimizer remove the getfield_gc_pure. Using the pure operations<br>
> optimizer here is not straight forwars as there is no<br>
> 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'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>"I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire)<br>"The people's good is the highest law." -- Cicero<br>
<br>
</div>