RFR 8166929: [JVMCI] Expose decompile counts in MDO

Tom Rodriguez tom.rodriguez at oracle.com
Fri Sep 30 23:04:30 UTC 2016


> On Sep 30, 2016, at 3:32 PM, Christian Thalinger <cthalinger at twitter.com> wrote:
> 
> 
>> On Sep 30, 2016, at 6:07 AM, Tom Rodriguez <tom.rodriguez at oracle.com <mailto:tom.rodriguez at oracle.com>> wrote:
>> 
>> 
>>> On Sep 29, 2016, at 7:16 PM, Vitaly Davidovich <vitalyd at gmail.com <mailto:vitalyd at gmail.com>> wrote:
>>> 
>>> Quick fly-by comment: HotSpotMethodData::toString should use %d for overflow recompiles count printing, like the other counters.
>> 
>> Thanks, that was a typo.  Fixed and updated in place.
> 
> +  COMPILER2_OR_JVMCI_PRESENT(nonstatic_field(MethodCounters, _interpreter_invocation_count,   int))                                  \
> +  COMPILER2_OR_JVMCI_PRESENT(nonstatic_field(MethodCounters, _interpreter_throwout_count,     u2))                                   \
> Isn’t that true always?

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.

> 
> +    public int getDecompileCount() {
> +        return UNSAFE.getInt(metaspaceMethodData + config.methodDataDecompiles);
> +    }
> +
> +    public int getOverflowRecompileCount() {
> +        return UNSAFE.getInt(metaspaceMethodData + config.methodDataOverflowRecompiles);
> +    }
> +
> +    public int getOverflowTrapsCount() {
> +        return UNSAFE.getInt(metaspaceMethodData + config.methodDataOverflowTraps);
> +    }
> This is high-level nitpicking:  the fields are plural but you named the methods singular except “OverflowTraps”.  Either plural everywhere or none.

Yes I fixed that in 8 while preparing this webrev but I missed updating in it 9.  I’ve put the updated webrev at http://cr.openjdk.java.net/~never/8166929.1/webrev

tom

> 
>> 
>> tom
>> 
>>> 
>>> Thanks
>>> 
>>> On Thursday, September 29, 2016, Tom Rodriguez <tom.rodriguez at oracle.com <mailto:tom.rodriguez at oracle.com>> wrote:
>>> http://cr.openjdk.java.net/~never/8166929/webrev <http://cr.openjdk.java.net/~never/8166929/webrev>
>>> https://bugs.openjdk.java.net/browse/JDK-8166929 <https://bugs.openjdk.java.net/browse/JDK-8166929>
>>> 
>>> 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.
>>> 
>>> tom
>>> 
>>> 
>>> -- 
>>> Sent from my phone
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160930/6ae9cbd3/attachment.html>


More information about the hotspot-compiler-dev mailing list