Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8135672 | emb-9 | Michael Haupt | P4 | Resolved | Fixed | team |
C2's IR is sea of ideal nodes which use SSA form. To see small portion of graph around some node we use idealvisualizer tool or Node::dump() methods in debugger. It would be nice to have additional ideal node specific (virtual) dump() method which dumps all related nodes. For example, for IfNode it would print:
22 ConI === 0 [[ 31 ]] #int:0
30 AndI === _ 28 29 [[ 31 ]] !jvms: Object::<init> @ bci:0
31 CmpI === _ 30 22 [[ 32 ]] !jvms: Object::<init> @ bci:0
32 Bool === _ 31 [[ 33 ]] [ne] !jvms: Object::<init> @ bci:0
33 > If === 5 32 [[ 35 36 ]] P=0.999999, C=-1.000000 !jvms: Object::<init> @ bci:0
35 IfFalse === 33 [[ 34 ]] #0 !jvms: Object::<init> @ bci:0
36 IfTrue === 33 [[ 37 ]] #1 !jvms: Object::<init> @ bci:0
And passed dump(int i) parameters is used print additional in and out nodes of this subgraph.
Also consider changing presentation of such subgraph to more compact form. For example:
If(32) Bool(32)[ne] CmpI(31) AndI(30) ConI(22)#0
IfTrue(36) IfFalse(35)
22 ConI === 0 [[ 31 ]] #int:0
30 AndI === _ 28 29 [[ 31 ]] !jvms: Object::<init> @ bci:0
31 CmpI === _ 30 22 [[ 32 ]] !jvms: Object::<init> @ bci:0
32 Bool === _ 31 [[ 33 ]] [ne] !jvms: Object::<init> @ bci:0
33 > If === 5 32 [[ 35 36 ]] P=0.999999, C=-1.000000 !jvms: Object::<init> @ bci:0
35 IfFalse === 33 [[ 34 ]] #0 !jvms: Object::<init> @ bci:0
36 IfTrue === 33 [[ 37 ]] #1 !jvms: Object::<init> @ bci:0
And passed dump(int i) parameters is used print additional in and out nodes of this subgraph.
Also consider changing presentation of such subgraph to more compact form. For example:
If(32) Bool(32)[ne] CmpI(31) AndI(30) ConI(22)#0
IfTrue(36) IfFalse(35)
- backported by
-
JDK-8135672 Implement C2 Ideal node specific dump() method
-
- Resolved
-