Change in graph dump levels

Doug Simon doug.simon at oracle.com
Fri Jun 2 13:06:37 UTC 2017


There was a recent change in the default Graal graph dumping levels.

Dump level 1 = Only ~5 graphs per method: after parsing, after inlining, after high tier, after mid tier, after low tier
Dump level 2 = One graph after each applied top-level phase
Dump level 3 = One graph after each phase (including sub phases)
Dump level 4 = Graphs within phases where interesting for a phase, max ~5 per phase
Dump level 5 = Graphs per node before/after

Phases run during inlining are not considered “top level” - i.e., phases preparing inlined graphs will only appear on Inline:3 or higher levels.

Graphs prepared as part of snippet or stub installation will not appear except when -Dgraal.DebugStubsAndSnippets=true is specified.

The levels are further documented here:

https://github.com/graalvm/graal/blob/3b1d7f2e9c3bb6a57600dbbcad20e5ecea36a20f/compiler/src/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/Debug.java#L131-L176

The motivation is to only have a few graphs dumped by default that represent the major stages in the compilation pipeline. This makes it easier to capture smaller bug reports from customers.

-Doug


More information about the graal-dev mailing list