RFR (M): 8014659: NPG: performance counters for compressed klass space
david.holmes at oracle.com
Thu Aug 15 04:38:23 PDT 2013
On 15/08/2013 9:32 PM, Erik Helin wrote:
> Hi David,
> thanks for reviewing!
Sorry not a review, I only glanced at the tests.
> On 2013-08-15, David Holmes wrote:
>> Hi Erik,
>> Can you add -XX:+UsePerfData to the @run for all tests that require
>> UsePerfData to be true (most I expect).
> Sure, please see new webrev at:
> For the changes from webrev.00, please see:
> - http://cr.openjdk.java.net/~ehelin/8014659/webrev.00-01/
> - http://cr.openjdk.java.net/~ehelin/8014659/webrev.01-02/
>> This will let the new tests play nicely with the Embedded builds.
>> On 15/08/2013 12:49 AM, Erik Helin wrote:
>>> Hi all,
>>> this change adds performance counters for compressed class space.
>>> Changes to hotspot:
>>> The main changes are in metaspaceCounters.hpp and metaspaceCounters.cpp,
>>> where the class MetaspaceCounters has been split up into
>>> MetaspaceCounters and MetaspacePerfCounters. MetaspaceCounters now owns
>>> an instance of MetaspacePerfCounters. The class
>>> CompressedClassSpaceCounters has been added which also has its own
>>> instance of MetaspacePerfCounters. MetaspacePerfCounters initializes and
>>> updates the actual performance counters.
>>> The changes in metaspace.hpp/cpp were needed to get some additional data
>> >from the metaspace data structures. The method
>>> free_chunks_in_total(mdtype) was made public and the method
>>> free_bytes(mdtype) was added. Some common functionality was extracted
>>> into get_space_list(mdtype) which got rid of some duplicated code.
>>> The changes in:
>>> - g1MonitorinSupport.cpp
>>> - parallelScavengeHeap.cpp
>>> - genCollectedHeap.cpp
>>> - universe.cpp
>>> are only "one-liners" that either update or initialize the new performance
>>> Changes to the testlibrary:
>>> - Added Asserts.java for writing asserts like "assertTrue",
>>> "assertEquals", etc.
>>> - Added PerfCounter.java and PerfCounters.java to make it easy to
>>> inspect performance counters for the currently running VM.
>>> - Added InputArguments.java so a test can check the arguments it got
>>> - Added InMemoryJavaCompiler.java for compiling a string into bytecode.
>>> Useful for loading classes generated at runtime without using files.
>>> - Added ByteCodeLoader.java for defining a new class when you already
>>> have the bytecode.
>>> - Added the new test TestMetaspacePerfCounters.java
>>> - JPRT
More information about the hotspot-gc-dev