<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 30, 2016, at 3:32 PM, Christian Thalinger <<a href="mailto:cthalinger@twitter.com" class="">cthalinger@twitter.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Sep 30, 2016, at 6:07 AM, Tom Rodriguez <<a href="mailto:tom.rodriguez@oracle.com" class="">tom.rodriguez@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Sep 29, 2016, at 7:16 PM, Vitaly Davidovich <<a href="mailto:vitalyd@gmail.com" class="">vitalyd@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Quick fly-by comment: HotSpotMethodData::toString should use %d for overflow recompiles count printing, like the other counters.</div></blockquote><div class=""><br class=""></div><div class="">Thanks, that was a typo.  Fixed and updated in place.</div></div></div></div></blockquote><div class=""><br class=""></div><pre style="background-color: rgb(238, 238, 238);" class=""><span class="new" style="color: blue;">+  COMPILER2_OR_JVMCI_PRESENT(nonstatic_field(MethodCounters, _interpreter_invocation_count,   int))                                  \</span>
<span class="new" style="color: blue;">+  COMPILER2_OR_JVMCI_PRESENT(nonstatic_field(MethodCounters, _interpreter_throwout_count,     u2))                                   \</span>
</pre><div class="">Isn’t that true always?</div></div></div></div></blockquote><div><br class=""></div><div>Yes, it is here.  I copied those lines from the normal vmstructs database where it might not be true but they can be removed here.  While fixing this I also realized that InvocationCounter wasn’t declared in the JVMCI copy of vmstructs, so I added that.</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class=""><pre style="background-color: rgb(238, 238, 238);" class=""><pre class=""><span class="new" style="color: blue;">+    public int getDecompileCount() {</span>
<span class="new" style="color: blue;">+        return UNSAFE.getInt(metaspaceMethodData + config.methodDataDecompiles);</span>
<span class="new" style="color: blue;">+    }</span>
<span class="new" style="color: blue;">+</span>
<span class="new" style="color: blue;">+    public int getOverflowRecompileCount() {</span>
<span class="new" style="color: blue;">+        return UNSAFE.getInt(metaspaceMethodData + config.methodDataOverflowRecompiles);</span>
<span class="new" style="color: blue;">+    }</span>
<span class="new" style="color: blue;">+</span>
<span class="new" style="color: blue;">+    public int getOverflowTrapsCount() {</span>
<span class="new" style="color: blue;">+        return UNSAFE.getInt(metaspaceMethodData + config.methodDataOverflowTraps);</span>
<span class="new" style="color: blue;">+    }</span></pre></pre>This is high-level nitpicking:  the fields are plural but you named the methods singular except “OverflowTraps”.  Either plural everywhere or none.</div></div></div></blockquote><div><br class=""></div><div>Yes I fixed that in 8 while preparing this webrev but I missed updating in it 9.  I’ve put the updated webrev at <a href="http://cr.openjdk.java.net/~never/8166929.1/webrev" class="">http://cr.openjdk.java.net/~never/8166929.1/webrev</a></div><div><br class=""></div><div>tom</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""><br class=""></div><div class="">tom</div><br class=""><blockquote type="cite" class=""><div class=""><span class=""></span><div class=""><br class=""></div><div class="">Thanks<br class=""><br class="">On Thursday, September 29, 2016, Tom Rodriguez <<a href="mailto:tom.rodriguez@oracle.com" class="">tom.rodriguez@oracle.com</a>> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="http://cr.openjdk.java.net/~never/8166929/webrev" target="_blank" class="">http://cr.openjdk.java.net/~<wbr class="">never/8166929/webrev</a><br class="">
<a href="https://bugs.openjdk.java.net/browse/JDK-8166929" target="_blank" class="">https://bugs.openjdk.java.net/<wbr class="">browse/JDK-8166929</a><br class="">
<br class="">
This is a minor API addition to expose some of the top-level MDO decompile and recompile counts.  It’s necessary to detect recompilation pathologies.  Tested by printing MDOs from JVMCI.  I also fixed a few problems I discovered with the formatting of the MDO printed form.<br class="">
<br class="">
tom</blockquote></div><br class=""><br class="">-- <br class="">Sent from my phone<br class="">
</div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></body></html>