Supporting Graal compiler logs in JITWatch

Chris Newland cnewland at chrisnewland.com
Tue Jan 9 22:34:38 UTC 2018


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

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.

JITWatch is developed alongside the AdoptOpenJDK effort (although it's not
an OpenJDK Project with a capital P). It has a BSD 2-clause license and
pull requests are very welcome.

Many thanks,

Chris
--
@chriswhocodes on Twitter

[1] https://github.com/AdoptOpenJDK/jitwatch



More information about the graal-dev mailing list