<div dir="ltr"><div>Hi Holger,</div><div><br></div><div>I&#39;m sorry for the delay since you reported the bug. Everyone working on the VM is very busy (In my case, my time is consumed by my phd and sista, I&#39;m trying to open an alpha of the image+runtime before ESUG running at ~1.5x).</div><div><br></div><div>Now that the VM profiler is fully working I was able to look into the regression.</div><div><br></div><div>Old VM vanilla code:</div><div><div><br></div><div><font face="monospace, monospace">27.94%    (11.54%)<span class="" style="white-space:pre">        </span>scavengeReferentsOf<span class="" style="white-space:pre">                                                                </span>(528)<span class="" style="white-space:pre">        </span>(27.94%)</font></div><div><font face="monospace, monospace">10.21%    (  4.22%)<span class="" style="white-space:pre">        </span>processWeakSurvivor<span class="" style="white-space:pre">                                                                </span>(193)<span class="" style="white-space:pre">        </span>(38.15%)</font></div><div><font face="monospace, monospace">  8.15%    (  3.36%)<span class="" style="white-space:pre">        </span>copyAndForward<span class="" style="white-space:pre">                                                                        </span>(154)<span class="" style="white-space:pre">        </span>(46.30%)</font></div><div><font face="monospace, monospace">  7.41%    (  3.06%)<span class="" style="white-space:pre">        </span>doScavenge<span class="" style="white-space:pre">                                                                                </span>(140)<span class="" style="white-space:pre">        </span>(53.70%)</font></div><div><font face="monospace, monospace">  5.19%    (  2.14%)<span class="" style="white-space:pre">        </span>lookupOrdinaryNoMNUEtcInClass<span class="" style="white-space:pre">                                        </span>(98)<span class="" style="white-space:pre">                </span>(58.89%)</font></div><div><font face="monospace, monospace">  4.71%    (  1.94%)<span class="" style="white-space:pre">        </span>primitiveStringReplace<span class="" style="white-space:pre">                                                                </span>(89)<span class="" style="white-space:pre">                </span>(63.60%)</font></div><div><font face="monospace, monospace">  4.29%    (  1.77%)<span class="" style="white-space:pre">        </span>moveFramesInthroughtoPage<span class="" style="white-space:pre">                                                </span>(81)<span class="" style="white-space:pre">                </span>(67.88%)</font></div><div><font face="monospace, monospace">  2.06%    (  0.85%)<span class="" style="white-space:pre">        </span>isWidowedContext<span class="" style="white-space:pre">                                                                        </span>(39)<span class="" style="white-space:pre">                </span>(69.95%)</font></div><div><font face="monospace, monospace">[...]</font></div><div><font face="monospace, monospace">  0.90%    (  0.37%)<span class="" style="white-space:pre">        </span>ceSendFromInLineCacheMiss<span class="" style="white-space:pre">                                                </span>(17)<span class="" style="white-space:pre">                </span>(85.61%)</font></div><div><font face="monospace, monospace">  0.85%    (  0.35%)<span class="" style="white-space:pre">        </span>addNewMethodToCache<span class="" style="white-space:pre">                                                        </span>(16)<span class="" style="white-space:pre">                </span>(86.46%)</font></div></div><div><br></div><div>New VM vanilla code:</div><div><br></div><div><div><font face="monospace, monospace">% of vanilla vm code (% of total)<span class="" style="white-space:pre">                                                                                        </span>(samples) (cumulative)</font></div><div><font face="monospace, monospace">22.41%    (10.44%)<span class="" style="white-space:pre">        </span>scavengeReferentsOf<span class="" style="white-space:pre">                                                                </span>(609)<span class="" style="white-space:pre">        </span>(22.41%)</font></div><div><b><font face="monospace, monospace">1<u>4.46%    (  6.74%)<span class="" style="white-space:pre">        </span>lookupOrdinaryNoMNUEtcInClass<span class="" style="white-space:pre">                                        </span>(393)<span class="" style="white-space:pre">        </span>(36.87%)</u></font></b></div><div><font face="monospace, monospace">  6.88%    (  3.21%)<span class="" style="white-space:pre">        </span>copyAndForward<span class="" style="white-space:pre">                                                                        </span>(187)<span class="" style="white-space:pre">        </span>(43.75%)</font></div><div><font face="monospace, monospace">  6.59%    (  3.07%)<span class="" style="white-space:pre">        </span>processWeakSurvivor<span class="" style="white-space:pre">                                                                </span>(179)<span class="" style="white-space:pre">        </span>(50.33%)</font></div><div><b><font face="monospace, monospace"><u>  6.36%    (  2.97%)<span class="" style="white-space:pre">        </span>addNewMethodToCache<span class="" style="white-space:pre">                                                        </span>(173)<span class="" style="white-space:pre">        </span>(56.70%)</u></font></b></div><div><font face="monospace, monospace">  4.19%    (  1.95%)<span class="" style="white-space:pre">        </span>doScavenge<span class="" style="white-space:pre">                                                                                </span>(114)<span class="" style="white-space:pre">        </span>(60.89%)</font></div><div><font face="monospace, monospace">  4.08%    (  1.90%)<span class="" style="white-space:pre">        </span>primitiveStringReplace<span class="" style="white-space:pre">                                                                </span>(111)<span class="" style="white-space:pre">        </span>(64.97%)</font></div><div><font face="monospace, monospace">  2.91%    (  1.35%)<span class="" style="white-space:pre">        </span>moveFramesInthroughtoPage<span class="" style="white-space:pre">                                                </span>(79)<span class="" style="white-space:pre">                </span>(67.88%)</font></div><div><font face="monospace, monospace"><b><u>  2.87%    (  1.34%)<span class="" style="white-space:pre">        </span>ceSendFromInLineCacheMiss<span class="" style="white-space:pre">                                                </span>(78)<span class="" style="white-space:pre">                </span>(70.75%)</u></b></font></div><div><font face="monospace, monospace">  2.21%    (  1.03%)<span class="" style="white-space:pre">        </span>marryFrameSP<span class="" style="white-space:pre">                                                                                </span>(60)<span class="" style="white-space:pre">                </span>(72.96%)</font></div><div><font face="monospace, monospace">  1.80%    (  0.84%)<span class="" style="white-space:pre">        </span>executeNewMethod<span class="" style="white-space:pre">                                                                </span>(49)<span class="" style="white-space:pre">                </span>(74.76%)</font></div><div><font face="monospace, monospace">  1.36%    (  0.63%)<span class="" style="white-space:pre">        </span>isWidowedContext<span class="" style="white-space:pre">                                                                        </span>(37)<span class="" style="white-space:pre">                </span>(76.12%)</font></div></div><div><font face="monospace, monospace"><br></font></div><div>I highlighted the problematic methods. It is likely that it has to do with slang inlining.</div><div><br></div><div>The 3 methods highlighted seems to be responsible for an overhead of ~8.5% in the overall runtime. You seem to have an overhead of ~14% on my machine. There&#39;s quite a difference. The slang inlining overhead may have impacted other functions, and C profilers are never 100% accurate, so we will see when the problem is fixed if something else is also problematic. Now that we know what the problem is, I believe it will be fixed in the incoming weeks when someone (likely Eliot, maybe me) has time. Thanks for reporting the regression.</div><div><br></div><div>Regards</div><div><br></div><div>Clement</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 6, 2016 at 8:00 PM, Holger Freyther <span dir="ltr">&lt;<a href="mailto:holger@freyther.de" target="_blank">holger@freyther.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
&gt; On 04 Jul 2016, at 20:59, Clément Bera &lt;<a href="mailto:bera.clement@gmail.com">bera.clement@gmail.com</a>&gt; wrote:<br>
&gt;<br>
<br>
Hi!<br>
<span class=""><br>
&gt; Is this problem solved or not ?<br>
<br>
</span>not that I am aware of.<br>
<br>
kind regards<br>
<span class="HOEnZb"><font color="#888888">        holger<br>
<br>
</font></span></blockquote></div><br></div>