Supporting Graal compiler logs in JITWatch

Doug Simon doug.simon at oracle.com
Wed Jan 10 14:01:18 UTC 2018


Hi Chris,

> On 9 Jan 2018, at 23:34, Chris Newland <cnewland at chrisnewland.com> wrote:
> 
> Hi all,
> 
> I'd like to add support for parsing Graal compiler logs in JITWatch[1], a
> tool for visualising JIT compiler decisions.
> 
> Currently JITWatch supports the XML-based LogCompilation format from the
> HotSpot JVM and the disassembled native code obtained from hsdis.
> 
> JITWatch can report on:
> 
> JIT timing events - compile task queued, compilation started, nmethod
> emitted.
> Inlining success and failure
> Uncommon trap placement
> OSR regions
> Branches taken/not taken
> Intrinsic usage
> Code cache layout and usage
> Escape analysis for avoiding heap allocations and eliding locks

At the moment, -XX:+LogCompilation will only produce Graal compilation related output produced by Graal-independent VM code. From this list above, I thinks that includes:

JIT timing events - compile task queued, compilation started, nmethod
Code cache layout and usage

Tom Rodriguez can refine my guesses.

> 
> There is a JavaFX-based GUI for visualising the above and one of the
> most-used features is the TriView which shows the source code, bytecode,
> and disassembled native code in side-by-side panes with cross-linking.
> 
> JITWatch has basic support for the line-based log format of IBM's J9 JIT
> system but at a much reduced level of functionality.
> 
> My current understanding of JVMCI is minimal and I need to do a lot of
> reading and experimenting to get up to speed with Graal.
> 
> If you think JITWatch support for Graal is a useful effort please let me
> know. Any pointers to Graal's existing JIT decision logging would be
> appreciated.

We'd definitely like to see JITWatch support Graal!

I've add a comment at https://github.com/AdoptOpenJDK/jitwatch/issues/265#issuecomment-356250468. Let's continue the conversation there.

-Doug


More information about the graal-dev mailing list