RFR(L): 8198691: CodeHeap State Analytics

Thomas Stüfe thomas.stuefe at gmail.com
Tue Mar 20 10:23:27 UTC 2018


Hi Guys,

I just talked with Lutz offlist about this UL printing thing. As far as
printing at exit is concerned, I am not sure this is a good fit for UL.

All the other "PrintSomethingAtExit" flags in print_statistics() (java.cpp)
print controlled by switches and to tty. Why should CodeHeap printing be
different?

Best Regards, Thomas


On Tue, Mar 20, 2018 at 10:46 AM, Tobias Hartmann <
tobias.hartmann at oracle.com> wrote:

> Hi Lutz,
>
> very nice work! Thanks for incorporating the requested changes. I think
> you can remove the commented
> LogStream code.
>
> I'll re-run the tests that failed with the last webrev.
>
> Best regards,
> Tobias
>
> On 19.03.2018 17:00, Schmidt, Lutz wrote:
> > Dear all,
> >
> > this is the next (second) iteration of my CodeHeap State Analytics
> effort. It reflects all the comments and suggestions I received on my
> initial RFR (sent out on March 1st). Please read on to learn what was
> changed and what kept as is.
> >
> > May I please request reviews for
> >
> > Bug:    https://bugs.openjdk.java.net/browse/JDK-8198691
> > Webrev: http://cr.openjdk.java.net/~lucy/webrevs/8198691.01/
> >
> > Instead of keeping the long tail of comments and responses, I decided to
> provide a summary of what happened.
> >  - Most of the new code was moved to new files:
> share/code/codeHeapState.cpp and share/code/codeHeapState.hpp
> >  - I have added, as requested, an abbreviated version of the "General
> Description" chapter to codeHeapState.cpp
> >  - In case of SegmentedCodeCache, the iteration is limited to
> FOR_ALL_ALLOCABLE_HEAPS(). There were issues in aot tests when using
> FOR_ALL_HEAPS().
> >  - All references to the RFE id should be gone.
> >  - In share/runtime/java.cpp, the call to CompileBroker::print_heapinfo()
> now is close to "PrintCodeCache" for both, product and nonproduct cases.
> >  - The edited/updated documentation is available as an attachment to the
> bug (in PDF format).
> >  - I added code to share/code/codeCache.cpp (report_codemem_full()) to
> print the CodeHeap state for the first occurrence of the "full" condition.
> >  - The code style "hickups", noted by Tobias Hartmann, are gone.
> >  - The compile time warnings and errors are resolved.
> >
> > -XX:+PrintCodeHeapState vs. -Xlog:codecache=Trace
> > I clearly understand and support the intention to get rid of the Print*
> command line arguments. Therefore, the PrintCodeHeapState command line
> argument is gone. You can request the CodeHeap state analytics with the
> -Xlog:codecache=Trace (vm shutdown) or -Xlog:codecache=Debug (CodeCache
> full and vm shutdown) switches. The output is directed to tty, not to the
> log stream.
> >
> > The reason for not using the log stream is simple: UL prefixes every
> line with a timestamp and the trace tags. Unfortunately, that messes up my
> formatting big time. The jcmd output, on the other hand, will not have the
> UL prefixes. I would have to distinguish between UL and jcmd output when
> formatting. In addition, I do not see a benefit from adding the same UL
> prefix to thousands of lines.
> >
> > Comments are very welcome!
> >
> > Best Regards,
> > Lutz
> >
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20180320/da610326/attachment.html>


More information about the hotspot-compiler-dev mailing list