RFR(S): 8025227: Add -XX: flag to print code cache sweeper statistics

Tobias Hartmann tobi.hartmann at gmail.com
Fri Sep 27 07:39:49 PDT 2013

Chris, Vladimir, thank you for your reviews.
I followed your suggestions and added other useful statistics. The output
now looks like this:

Method flushing statistics:
  Total sweep time: 152.649ms
  Peak sweep time: 15.979ms
  Peak sweep fraction time: 3.209ms
  Total number of stack traversals: 25
  Total number of flushed methods: 1320
  Total size of flushed methods: 7188Kb

I did not include the other values, because as Vladimir already said, they
are removed by 8020151.

Here is the new webrev:

Thanks again for your review.


2013/9/27 Vladimir Kozlov <vladimir.kozlov at oracle.com>

> I agree with Chris, we are collecting those counters anyway. I also like
> Chris's idea about collecting freed sizes. Note, some counters will be
> removed by 8020151 changes:
> http://cr.openjdk.java.net/~**anoll/8020151/webrev.03/<http://cr.openjdk.java.net/~anoll/8020151/webrev.03/>
> Thanks,
> Vladimir
> On 9/26/13 2:13 PM, Chris Plummer wrote:
>> Hi Tobias,
>> The one comment I would have is that the statistics you produce are all
>> timing related, but the option name implies you would get a bit more
>> than this. For example, maybe something like a count of the number of
>> methods flushed (and maybe total size). So I would suggest either rename
>> to PrintMethodFlushingTimingStati**stics (and also rename the print
>> method), or add some other useful statistics to the output. Probably all
>> the counters located below the " Stat counters" comment are good
>> candidates.
>> best regards,
>> Chris
>> On 9/25/13 12:20 AM, Tobias Hartmann wrote:
>>> Hi,
>>> Please review the following small patch.
>>> bug:�https://bugs.openjdk.**java.net/browse/JDK-8025277<https://bugs.openjdk.java.net/browse/JDK-8025277>
>>> webrev:�http://cr.openjdk.**java.net/~anoll/8025277/**webrev.00/<http://cr.openjdk.java.net/~anoll/8025277/webrev.00/>
>>> <http://cr.openjdk.java.net/%**7Eanoll/8025277/webrev.00/<http://cr.openjdk.java.net/%7Eanoll/8025277/webrev.00/>
>>> >
>>> I added the diagnostic VM option�**PrintMethodFlushingStatistics to
>>> print statistics about the NMethodSweeper (sweep times) on exit. This
>>> is useful to determine performance bottlenecks of applications that
>>> heavily compile code (e.g. nashorn).
>>> Thanks in advance!
>>> Best regards,
>>> Tobias
>>> By the way, I'm Tobias Hartmann, a student from Switzerland currently
>>> working on my Master Thesis "Code Cache Optimizations for Dynamically
>>> Compiled Languages" on supervision of Albert Noll.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130927/544be8c8/attachment.html 

More information about the hotspot-compiler-dev mailing list