RFR(L): 8198691: CodeHeap State Analytics

Schmidt, Lutz lutz.schmidt at sap.com
Thu Mar 1 20:50:35 UTC 2018

Thank you, Vladimir, for your kind words!

I can for sure add a condensed version of the "General Description" chapter as an introduction in front of the code (heap.cpp or wherever it may finally live). When preparing the change, I was also thinking about significantly extending the help text that "jcmd help Compiler.CodeHeap_Analytics" would spit out. I didn't dare to do so because no other jcmd has an extended help text. Should I dare?

I will try to move the analytics code to a new cpp/hpp pair and invent a new class. Not sure how much interfacing hassle this will cause. But I'll try...

No, I did not try with AOT libs. My AOT experience is zero. For the time being, and with all the other requests I have to work on, I will resort to FOR_ALL_ALLOCABLE_HEAPS().

I added the RFE/BugID comments for the sole purpose of making the life of the reviewers easier. Removing them with the next webrev iteration should be doable. __

I will rearrange the PrintCodeHeapState code so that it is consistent in the "product" and "nonproduct" case.

That will all take a while. A new webrev will most probably not be ready before the weekend. So stay tuned...


On 01.03.18, 21:26, "hotspot-compiler-dev on behalf of Vladimir Kozlov" <hotspot-compiler-dev-bounces at openjdk.java.net on behalf of vladimir.kozlov at oracle.com> wrote:

    Hi, Lutz
    I would say nice work! And nice document. Can you add "general description" (may be shorter version) 
    as comment to heap.cpp code to avoid looking for document when you want to know how to use it.
    May be move new code from heap.* files to new files and to new class (pass CodeHeap as parameter) to 
    isolate this code. I also would expect to have them in code/ directory and not memory.
    Did you try it with AOT libraries? You used FOR_ALL_HEAPS() which includes AOT heaps. May be you 
    should just use FOR_ALL_ALLOCABLE_HEAPS().
    We usually do not add RFE/Bug ID into comments.
    I also did not get your placement of PrintCodeHeapState code in "nonproduct" case of 
    print_statistics(). I would expect it near PrintCodeCache code like in "product" case.
    On 3/1/18 9:17 AM, Schmidt, Lutz wrote:
    > Dear all,
    > may I please request reviews for this quite voluminous enhancement:
    > Bug: https://bugs.openjdk.java.net/browse/JDK-8198691
    > Webrev: http://cr.openjdk.java.net/~lucy/webrevs/8198691.00/index.html
    > Don’t get afraid! Most of the logic is new and isolated in a big, separate block in heap.cpp. The 
    > changes to other files are not difficult to understand.
    > If you need information about what this enhancement does and how it can be used, please refer to the 
    > bug description. There I have attached some documentation which will greatly help with understanding 
    > the code.
    > Thank you!
    > Lutz

More information about the hotspot-compiler-dev mailing list