Obtaining methods executed at least once?
Andreas Sewe
sewe at st.informatik.tu-darmstadt.de
Wed May 16 05:15:33 PDT 2012
Hi Ben,
> OK, I'll bite with a couple of questions:
Fair enough.
> 1) Why do you want this information? Is it purely informative, or are
> you planning to make use of it in some way? If you're planning to use
> it - what uses do you have in mind?
I am gathering some statistics on a few benchmarks. In particular, I am
interested in the *fraction* of methods compiled (at the various levels,
if tiered compilation is used). Thus, I also need to know the overall
number of methods executed (whether they have been compiled or not).
> 2) What do you mean by "inlined at compilation". When dealing with
> HotSpot, always remember that there are two separate things which
> could be thought of as 'compilation' - there's the process which
> creates classfiles (e.g. javac) and there's the process which creates
> machine code from hot methods - JIT compilation. It isn't clear to me
> which of these two processes you mean.
I meant the JIT.
The problem is that you want to count a method as compiled even if is
only compiled in a "nested" context due to inlining. (Of course, you
don't want to count the method multiple times if it is inlined at
multiple places either.) But as far as I can see, the
-XX:+LogCompilation log contains enough information to determine all
methods that have been compiled, be it as a root method or deeper into
the inline tree.
Hope this clarifies things for you.
Best wishes,
Andreas
More information about the hotspot-dev
mailing list