1207 lines
37 KiB
Plaintext
1207 lines
37 KiB
Plaintext
digraph root {
|
|
node [label="\N"];
|
|
subgraph combined {
|
|
graph [label="<init>"];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
-1 [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
0 [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 0\l|3: INVOKESPECIAL java/lang/Object.<init> ()V\l|4: RETURN \l}",
|
|
shape=record];
|
|
-1 -> 0;
|
|
-1 -> 0 [style=dotted];
|
|
-2 [label="-2|exit",
|
|
shape=record];
|
|
0 -> -2;
|
|
0 -> -2 [style=dotted];
|
|
}
|
|
subgraph combined_gv40 {
|
|
graph [label=switchMethod2];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv40" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv40" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ILOAD 1\l|7: LOOKUPSWITCH 0: 8, 1000: 14, 2000: 20, default: 26\l}",
|
|
shape=record];
|
|
"-1_gv40" -> "0_gv40";
|
|
"-1_gv40" -> "0_gv40" [style=dotted];
|
|
"-2_gv40" [label="-2|exit",
|
|
shape=record];
|
|
"8_gv8" [label="8|{8: // label\l|9: // line number information\l|10: // stack frame map\l|11: ICONST_0 \l|12: ISTORE 2\l|13: GOTO 31\l}",
|
|
shape=record];
|
|
"0_gv40" -> "8_gv8" [label=0];
|
|
"0_gv40" -> "8_gv8" [style=dotted];
|
|
"14_gv2" [label="14|{14: // label\l|15: // line number information\l|16: // stack frame map\l|17: ICONST_1 \l|18: ISTORE 2\l|19: GOTO 31\l}",
|
|
shape=record];
|
|
"0_gv40" -> "14_gv2" [label=1000];
|
|
"0_gv40" -> "14_gv2" [style=dotted];
|
|
"20_gv2" [label="20|{20: // label\l|21: // line number information\l|22: // stack frame map\l|23: ICONST_2 \l|24: ISTORE 2\l|25: GOTO 31\l}",
|
|
shape=record];
|
|
"0_gv40" -> "20_gv2" [label=2000];
|
|
"0_gv40" -> "20_gv2" [style=dotted];
|
|
"26_gv1" [label="26|{26: // label\l|27: // line number information\l|28: // stack frame map\l|29: ICONST_M1 \l|30: ISTORE 2\l}",
|
|
shape=record];
|
|
"0_gv40" -> "26_gv1" [label=default];
|
|
"0_gv40" -> "26_gv1" [style=dotted];
|
|
"31_gv1" [label="31|{31: // label\l|32: // line number information\l|33: // stack frame map\l|34: ILOAD 2\l|35: IRETURN \l}",
|
|
shape=record];
|
|
"0_gv40" -> "31_gv1" [style=dotted];
|
|
"8_gv8" -> "31_gv1" [label=T];
|
|
"14_gv2" -> "31_gv1" [label=T];
|
|
"20_gv2" -> "31_gv1" [label=T];
|
|
"26_gv1" -> "31_gv1";
|
|
"31_gv1" -> "-2_gv40";
|
|
"31_gv1" -> "-2_gv40" [style=dotted];
|
|
}
|
|
subgraph combined_gv41 {
|
|
graph [label=whileMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv41" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv41" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l}",
|
|
shape=record];
|
|
"-1_gv41" -> "0_gv41";
|
|
"-1_gv41" -> "0_gv41" [style=dotted];
|
|
"-2_gv41" [label="-2|exit",
|
|
shape=record];
|
|
"4_gv2" [label="4|{4: // label\l|5: // line number information\l|6: // stack frame map\l|7: ILOAD 1\l|8: IFLE 19\l}",
|
|
shape=record];
|
|
"0_gv41" -> "4_gv2";
|
|
"0_gv41" -> "4_gv2" [style=dotted];
|
|
"9_gv1" [label="9|{9: // label\l|10: // line number information\l|11: ILOAD 2\l|12: ILOAD 1\l|13: IADD \l|14: ISTORE 2\l|15: // label\l|16: // \
|
|
line number information\l|17: IINC 1 -1\l|18: GOTO 4\l}",
|
|
shape=record];
|
|
"4_gv2" -> "9_gv1";
|
|
"4_gv2" -> "9_gv1" [style=dotted];
|
|
19 [label="19|{19: // label\l|20: // line number information\l|21: // stack frame map\l|22: ILOAD 2\l|23: IRETURN \l}",
|
|
shape=record];
|
|
"4_gv2" -> 19 [label=T];
|
|
"4_gv2" -> 19 [style=dotted];
|
|
"9_gv1" -> "4_gv2" [label=T];
|
|
19 -> "-2_gv41";
|
|
19 -> "-2_gv41" [style=dotted];
|
|
}
|
|
subgraph combined_gv42 {
|
|
graph [label=whileTrueMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv42" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv42" [label="0|{0: // label\l|1: // line number information\l|2: // stack frame map\l|3: IINC 1 1\l|4: GOTO 0\l}",
|
|
shape=record];
|
|
"-1_gv42" -> "0_gv42";
|
|
"-1_gv42" -> "0_gv42" [style=dotted];
|
|
"-2_gv42" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv42" -> "0_gv42" [label=T];
|
|
}
|
|
subgraph combined_gv5 {
|
|
graph [label=allocAndInitObjectArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv5" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv5" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_2 \l|3: ANEWARRAY java/lang/Object\l|4: DUP \l|5: ICONST_0 \l|6: LDC \
|
|
1\l|7: AASTORE \l|8: DUP \l|9: ICONST_1 \l|10: LDC 2\l|11: AASTORE \l|12: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv5" -> "0_gv5";
|
|
"-1_gv5" -> "0_gv5" [style=dotted];
|
|
"-2_gv5" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv5" -> "-2_gv5";
|
|
"0_gv5" -> "-2_gv5" [style=dotted];
|
|
}
|
|
subgraph combined_gv6 {
|
|
graph [label=allocIncomplete2dArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv6" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv6" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_2 \l|3: ANEWARRAY [I\l|4: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv6" -> "0_gv6";
|
|
"-1_gv6" -> "0_gv6" [style=dotted];
|
|
"-2_gv6" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv6" -> "-2_gv6";
|
|
"0_gv6" -> "-2_gv6" [style=dotted];
|
|
}
|
|
subgraph combined_gv7 {
|
|
graph [label=allocIntArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv7" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv7" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_3 \l|3: NEWARRAY T_INT\l|4: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv7" -> "0_gv7";
|
|
"-1_gv7" -> "0_gv7" [style=dotted];
|
|
"-2_gv7" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv7" -> "-2_gv7";
|
|
"0_gv7" -> "-2_gv7" [style=dotted];
|
|
}
|
|
subgraph combined_gv8 {
|
|
graph [label=allocObjectArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv8" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv8" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_3 \l|3: ANEWARRAY java/lang/Object\l|4: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv8" -> "0_gv8";
|
|
"-1_gv8" -> "0_gv8" [style=dotted];
|
|
"-2_gv8" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv8" -> "-2_gv8";
|
|
"0_gv8" -> "-2_gv8" [style=dotted];
|
|
}
|
|
subgraph combined_gv9 {
|
|
graph [label=allocObjectMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv9" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv9" [label="0|{0: // label\l|1: // line number information\l|2: NEW java/lang/Object\l|3: DUP \l|4: INVOKESPECIAL java/lang/Object.<init> ()\
|
|
V\l|5: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv9" -> "0_gv9";
|
|
"-1_gv9" -> "0_gv9" [style=dotted];
|
|
"-2_gv9" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv9" -> "-2_gv9";
|
|
"0_gv9" -> "-2_gv9" [style=dotted];
|
|
}
|
|
subgraph combined_gv10 {
|
|
graph [label=arrayLengthMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv10" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv10" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 1\l|3: ARRAYLENGTH \l|4: IRETURN \l}",
|
|
shape=record];
|
|
"-1_gv10" -> "0_gv10";
|
|
"-1_gv10" -> "0_gv10" [style=dotted];
|
|
"-2_gv10" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv10" -> "-2_gv10";
|
|
"0_gv10" -> "-2_gv10" [style=dotted];
|
|
}
|
|
subgraph combined_gv11 {
|
|
graph [label=arrayReadMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv11" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv11" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 1\l|3: ICONST_0 \l|4: AALOAD \l|5: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv11" -> "0_gv11";
|
|
"-1_gv11" -> "0_gv11" [style=dotted];
|
|
"-2_gv11" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv11" -> "-2_gv11";
|
|
"0_gv11" -> "-2_gv11" [style=dotted];
|
|
}
|
|
subgraph combined_gv12 {
|
|
graph [label=arrayWriteMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv12" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv12" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 1\l|3: ICONST_0 \l|4: ALOAD 2\l|5: AASTORE \l|6: // label\l|7: // \
|
|
line number information\l|8: RETURN \l}",
|
|
shape=record];
|
|
"-1_gv12" -> "0_gv12";
|
|
"-1_gv12" -> "0_gv12" [style=dotted];
|
|
"-2_gv12" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv12" -> "-2_gv12";
|
|
"0_gv12" -> "-2_gv12" [style=dotted];
|
|
}
|
|
subgraph combined_gv13 {
|
|
graph [label=condMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv13" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv13" [label="0|{0: // label\l|1: // line number information\l|2: ILOAD 1\l|3: ILOAD 2\l|4: IF_ICMPLE 7\l}",
|
|
shape=record];
|
|
"-1_gv13" -> "0_gv13";
|
|
"-1_gv13" -> "0_gv13" [style=dotted];
|
|
"-2_gv13" [label="-2|exit",
|
|
shape=record];
|
|
5 [label="5|{5: ILOAD 1\l|6: GOTO 10\l}",
|
|
shape=record];
|
|
"0_gv13" -> 5;
|
|
"0_gv13" -> 5 [style=dotted];
|
|
7 [label="7|{7: // label\l|8: // stack frame map\l|9: ILOAD 2\l}",
|
|
shape=record];
|
|
"0_gv13" -> 7 [label=T];
|
|
"0_gv13" -> 7 [style=dotted];
|
|
10 [label="10|{10: // label\l|11: // stack frame map\l|12: IRETURN \l}",
|
|
shape=record];
|
|
"0_gv13" -> 10 [style=dotted];
|
|
5 -> 10 [label=T];
|
|
7 -> 10;
|
|
10 -> "-2_gv13";
|
|
10 -> "-2_gv13" [style=dotted];
|
|
}
|
|
subgraph combined_gv14 {
|
|
graph [label=doWhileMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv14" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv14" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l}",
|
|
shape=record];
|
|
"-1_gv14" -> "0_gv14";
|
|
"-1_gv14" -> "0_gv14" [style=dotted];
|
|
"-2_gv14" [label="-2|exit",
|
|
shape=record];
|
|
4 [label="4|{4: // label\l|5: // line number information\l|6: // stack frame map\l|7: ILOAD 2\l|8: ILOAD 1\l|9: IADD \l|10: ISTORE 2\l|\
|
|
11: // label\l|12: // line number information\l|13: IINC 1 -1\l|14: // label\l|15: // line number information\l|16: ILOAD 1\l|\
|
|
17: IFGT 4\l}",
|
|
shape=record];
|
|
"0_gv14" -> 4;
|
|
"0_gv14" -> 4 [style=dotted];
|
|
4 -> 4 [label=T];
|
|
18 [label="18|{18: // label\l|19: // line number information\l|20: ILOAD 2\l|21: IRETURN \l}",
|
|
shape=record];
|
|
4 -> 18;
|
|
4 -> 18 [style=dotted];
|
|
18 -> "-2_gv14";
|
|
18 -> "-2_gv14" [style=dotted];
|
|
}
|
|
subgraph combined_gv15 {
|
|
graph [label=doWhileTrue];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv15" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv15" [label="0|{0: // label\l|1: // line number information\l|2: // stack frame map\l|3: IINC 1 1\l|4: // label\l|5: // line number information\l|\
|
|
6: GOTO 0\l}",
|
|
shape=record];
|
|
"-1_gv15" -> "0_gv15";
|
|
"-1_gv15" -> "0_gv15" [style=dotted];
|
|
"-2_gv15" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv15" -> "0_gv15" [label=T];
|
|
}
|
|
subgraph combined_gv16 {
|
|
graph [label=emptyMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv16" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv16" [label="0|{0: // label\l|1: // line number information\l|2: RETURN \l}",
|
|
shape=record];
|
|
"-1_gv16" -> "0_gv16";
|
|
"-1_gv16" -> "0_gv16" [style=dotted];
|
|
"-2_gv16" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv16" -> "-2_gv16";
|
|
"0_gv16" -> "-2_gv16" [style=dotted];
|
|
}
|
|
subgraph combined_gv17 {
|
|
graph [label=fieldReadMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv17" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv17" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 0\l|3: GETFIELD ExampleClass.field Ljava/lang/String;\l|4: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv17" -> "0_gv17";
|
|
"-1_gv17" -> "0_gv17" [style=dotted];
|
|
"-2_gv17" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv17" -> "-2_gv17";
|
|
"0_gv17" -> "-2_gv17" [style=dotted];
|
|
}
|
|
subgraph combined_gv18 {
|
|
graph [label=fieldWriteMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv18" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv18" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 0\l|3: ALOAD 1\l|4: PUTFIELD ExampleClass.field Ljava/lang/String;\l|\
|
|
5: // label\l|6: // line number information\l|7: RETURN \l}",
|
|
shape=record];
|
|
"-1_gv18" -> "0_gv18";
|
|
"-1_gv18" -> "0_gv18" [style=dotted];
|
|
"-2_gv18" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv18" -> "-2_gv18";
|
|
"0_gv18" -> "-2_gv18" [style=dotted];
|
|
}
|
|
subgraph combined_gv19 {
|
|
graph [label=forEachArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv19" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv19" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ALOAD 1\l|7: ASTORE 3\l|8: ALOAD 3\l|9: ARRAYLENGTH \l|10: ISTORE 4\l|11: ICONST_0 \l|12: ISTORE 5\l}",
|
|
shape=record];
|
|
"-1_gv19" -> "0_gv19";
|
|
"-1_gv19" -> "0_gv19" [style=dotted];
|
|
"-2_gv19" [label="-2|exit",
|
|
shape=record];
|
|
13 [label="13|{13: // label\l|14: // stack frame map\l|15: ILOAD 5\l|16: ILOAD 4\l|17: IF_ICMPGE 29\l}",
|
|
shape=record];
|
|
"0_gv19" -> 13;
|
|
"0_gv19" -> 13 [style=dotted];
|
|
"18_gv1" [label="18|{18: ALOAD 3\l|19: ILOAD 5\l|20: AALOAD \l|21: ASTORE 6\l|22: // label\l|23: // line number information\l|24: IINC 2 1\l|25: // \
|
|
label\l|26: // line number information\l|27: IINC 5 1\l|28: GOTO 13\l}",
|
|
shape=record];
|
|
13 -> "18_gv1";
|
|
13 -> "18_gv1" [style=dotted];
|
|
29 [label="29|{29: // label\l|30: // line number information\l|31: // stack frame map\l|32: ILOAD 2\l|33: IRETURN \l}",
|
|
shape=record];
|
|
13 -> 29 [label=T];
|
|
13 -> 29 [style=dotted];
|
|
"18_gv1" -> 13 [label=T];
|
|
29 -> "-2_gv19";
|
|
29 -> "-2_gv19" [style=dotted];
|
|
}
|
|
subgraph combined_gv20 {
|
|
graph [label=forEachCollectionMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv20" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv20" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ALOAD 1\l|7: INVOKEINTERFACE java/util/Set.iterator ()Ljava/util/Iterator;\l|8: ASTORE 3\l}",
|
|
shape=record];
|
|
"-1_gv20" -> "0_gv20";
|
|
"-1_gv20" -> "0_gv20" [style=dotted];
|
|
"-2_gv20" [label="-2|exit",
|
|
shape=record];
|
|
9 [label="9|{9: // label\l|10: // stack frame map\l|11: ALOAD 3\l|12: INVOKEINTERFACE java/util/Iterator.hasNext ()Z\l|13: IFEQ 24\l}",
|
|
shape=record];
|
|
"0_gv20" -> 9;
|
|
"0_gv20" -> 9 [style=dotted];
|
|
14 [label="14|{14: ALOAD 3\l|15: INVOKEINTERFACE java/util/Iterator.next ()Ljava/lang/Object;\l|16: CHECKCAST java/lang/String\l|17: ASTORE \
|
|
4\l|18: // label\l|19: // line number information\l|20: IINC 2 1\l|21: // label\l|22: // line number information\l|23: GOTO \
|
|
9\l}",
|
|
shape=record];
|
|
9 -> 14;
|
|
9 -> 14 [style=dotted];
|
|
24 [label="24|{24: // label\l|25: // line number information\l|26: // stack frame map\l|27: ILOAD 2\l|28: IRETURN \l}",
|
|
shape=record];
|
|
9 -> 24 [label=T];
|
|
9 -> 24 [style=dotted];
|
|
14 -> 9 [label=T];
|
|
24 -> "-2_gv20";
|
|
24 -> "-2_gv20" [style=dotted];
|
|
}
|
|
subgraph combined_gv21 {
|
|
graph [label=forEver];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv21" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv21" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l}",
|
|
shape=record];
|
|
"-1_gv21" -> "0_gv21";
|
|
"-1_gv21" -> "0_gv21" [style=dotted];
|
|
"-2_gv21" [label="-2|exit",
|
|
shape=record];
|
|
"4_gv1" [label="4|{4: // label\l|5: // stack frame map\l|6: IINC 2 1\l|7: GOTO 4\l}",
|
|
shape=record];
|
|
"0_gv21" -> "4_gv1";
|
|
"0_gv21" -> "4_gv1" [style=dotted];
|
|
"4_gv1" -> "4_gv1" [label=T];
|
|
}
|
|
subgraph combined_gv22 {
|
|
graph [label=forMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv22" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv22" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ICONST_0 \l|7: ISTORE 3\l}",
|
|
shape=record];
|
|
"-1_gv22" -> "0_gv22";
|
|
"-1_gv22" -> "0_gv22" [style=dotted];
|
|
"-2_gv22" [label="-2|exit",
|
|
shape=record];
|
|
8 [label="8|{8: // label\l|9: // stack frame map\l|10: ILOAD 3\l|11: ILOAD 1\l|12: IF_ICMPGE 23\l}",
|
|
shape=record];
|
|
"0_gv22" -> 8;
|
|
"0_gv22" -> 8 [style=dotted];
|
|
"13_gv1" [label="13|{13: // label\l|14: // line number information\l|15: ILOAD 2\l|16: ILOAD 3\l|17: IADD \l|18: ISTORE 2\l|19: // label\l|20: // \
|
|
line number information\l|21: IINC 1 1\l|22: GOTO 8\l}",
|
|
shape=record];
|
|
8 -> "13_gv1";
|
|
8 -> "13_gv1" [style=dotted];
|
|
23 [label="23|{23: // label\l|24: // line number information\l|25: // stack frame map\l|26: ILOAD 2\l|27: IRETURN \l}",
|
|
shape=record];
|
|
8 -> 23 [label=T];
|
|
8 -> 23 [style=dotted];
|
|
"13_gv1" -> 8 [label=T];
|
|
23 -> "-2_gv22";
|
|
23 -> "-2_gv22" [style=dotted];
|
|
}
|
|
subgraph combined_gv23 {
|
|
graph [label=forWithBreakMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv23" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv23" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ICONST_0 \l|7: ISTORE 3\l}",
|
|
shape=record];
|
|
"-1_gv23" -> "0_gv23";
|
|
"-1_gv23" -> "0_gv23" [style=dotted];
|
|
"-2_gv23" [label="-2|exit",
|
|
shape=record];
|
|
"8_gv1" [label="8|{8: // label\l|9: // stack frame map\l|10: ILOAD 3\l|11: ILOAD 1\l|12: IF_ICMPGE 32\l}",
|
|
shape=record];
|
|
"0_gv23" -> "8_gv1";
|
|
"0_gv23" -> "8_gv1" [style=dotted];
|
|
"13_gv2" [label="13|{13: // label\l|14: // line number information\l|15: ILOAD 3\l|16: BIPUSH 10\l|17: IF_ICMPNE 21\l}",
|
|
shape=record];
|
|
"8_gv1" -> "13_gv2";
|
|
"8_gv1" -> "13_gv2" [style=dotted];
|
|
32 [label="32|{32: // label\l|33: // line number information\l|34: // stack frame map\l|35: ILOAD 2\l|36: IRETURN \l}",
|
|
shape=record];
|
|
"8_gv1" -> 32 [label=T];
|
|
"8_gv1" -> 32 [style=dotted];
|
|
"18_gv2" [label="18|{18: // label\l|19: // line number information\l|20: GOTO 32\l}",
|
|
shape=record];
|
|
"13_gv2" -> "18_gv2";
|
|
"13_gv2" -> "18_gv2" [style=dotted];
|
|
21 [label="21|{21: // label\l|22: // line number information\l|23: // stack frame map\l|24: ILOAD 2\l|25: ILOAD 3\l|26: IADD \l|27: ISTORE \
|
|
2\l|28: // label\l|29: // line number information\l|30: IINC 3 1\l|31: GOTO 8\l}",
|
|
shape=record];
|
|
"13_gv2" -> 21 [label=T];
|
|
"13_gv2" -> 21 [style=dotted];
|
|
"18_gv2" -> 32 [label=T];
|
|
21 -> "8_gv1" [label=T];
|
|
32 -> "-2_gv23";
|
|
32 -> "-2_gv23" [style=dotted];
|
|
}
|
|
subgraph combined_gv24 {
|
|
graph [label=forWithContinueMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv24" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv24" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ICONST_0 \l|7: ISTORE 3\l}",
|
|
shape=record];
|
|
"-1_gv24" -> "0_gv24";
|
|
"-1_gv24" -> "0_gv24" [style=dotted];
|
|
"-2_gv24" [label="-2|exit",
|
|
shape=record];
|
|
"8_gv2" [label="8|{8: // label\l|9: // stack frame map\l|10: ILOAD 3\l|11: ILOAD 1\l|12: IF_ICMPGE 33\l}",
|
|
shape=record];
|
|
"0_gv24" -> "8_gv2";
|
|
"0_gv24" -> "8_gv2" [style=dotted];
|
|
"13_gv3" [label="13|{13: // label\l|14: // line number information\l|15: ILOAD 3\l|16: BIPUSH 10\l|17: IF_ICMPNE 21\l}",
|
|
shape=record];
|
|
"8_gv2" -> "13_gv3";
|
|
"8_gv2" -> "13_gv3" [style=dotted];
|
|
33 [label="33|{33: // label\l|34: // line number information\l|35: // stack frame map\l|36: ILOAD 2\l|37: IRETURN \l}",
|
|
shape=record];
|
|
"8_gv2" -> 33 [label=T];
|
|
"8_gv2" -> 33 [style=dotted];
|
|
"18_gv3" [label="18|{18: // label\l|19: // line number information\l|20: GOTO 28\l}",
|
|
shape=record];
|
|
"13_gv3" -> "18_gv3";
|
|
"13_gv3" -> "18_gv3" [style=dotted];
|
|
"21_gv1" [label="21|{21: // label\l|22: // line number information\l|23: // stack frame map\l|24: ILOAD 2\l|25: ILOAD 3\l|26: IADD \l|27: ISTORE \
|
|
2\l}",
|
|
shape=record];
|
|
"13_gv3" -> "21_gv1" [label=T];
|
|
"13_gv3" -> "21_gv1" [style=dotted];
|
|
28 [label="28|{28: // label\l|29: // line number information\l|30: // stack frame map\l|31: IINC 3 1\l|32: GOTO 8\l}",
|
|
shape=record];
|
|
"13_gv3" -> 28 [style=dotted];
|
|
"18_gv3" -> 28 [label=T];
|
|
"21_gv1" -> 28;
|
|
28 -> "8_gv2" [label=T];
|
|
33 -> "-2_gv24";
|
|
33 -> "-2_gv24" [style=dotted];
|
|
}
|
|
subgraph combined_gv25 {
|
|
graph [label=ifElseMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv25" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv25" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ILOAD 1\l|7: IFLE 13\l}",
|
|
shape=record];
|
|
"-1_gv25" -> "0_gv25";
|
|
"-1_gv25" -> "0_gv25" [style=dotted];
|
|
"-2_gv25" [label="-2|exit",
|
|
shape=record];
|
|
"8_gv3" [label="8|{8: // label\l|9: // line number information\l|10: ICONST_0 \l|11: ISTORE 2\l|12: GOTO 18\l}",
|
|
shape=record];
|
|
"0_gv25" -> "8_gv3";
|
|
"0_gv25" -> "8_gv3" [style=dotted];
|
|
"13_gv4" [label="13|{13: // label\l|14: // line number information\l|15: // stack frame map\l|16: ILOAD 1\l|17: ISTORE 2\l}",
|
|
shape=record];
|
|
"0_gv25" -> "13_gv4" [label=T];
|
|
"0_gv25" -> "13_gv4" [style=dotted];
|
|
"18_gv4" [label="18|{18: // label\l|19: // line number information\l|20: // stack frame map\l|21: ILOAD 2\l|22: IRETURN \l}",
|
|
shape=record];
|
|
"0_gv25" -> "18_gv4" [style=dotted];
|
|
"8_gv3" -> "18_gv4" [label=T];
|
|
"13_gv4" -> "18_gv4";
|
|
"18_gv4" -> "-2_gv25";
|
|
"18_gv4" -> "-2_gv25" [style=dotted];
|
|
}
|
|
subgraph combined_gv26 {
|
|
graph [label=ifMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv26" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv26" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ILOAD 1\l|7: IFGE 12\l}",
|
|
shape=record];
|
|
"-1_gv26" -> "0_gv26";
|
|
"-1_gv26" -> "0_gv26" [style=dotted];
|
|
"-2_gv26" [label="-2|exit",
|
|
shape=record];
|
|
"8_gv4" [label="8|{8: // label\l|9: // line number information\l|10: ICONST_1 \l|11: ISTORE 2\l}",
|
|
shape=record];
|
|
"0_gv26" -> "8_gv4";
|
|
"0_gv26" -> "8_gv4" [style=dotted];
|
|
12 [label="12|{12: // label\l|13: // line number information\l|14: // stack frame map\l|15: ILOAD 2\l|16: IRETURN \l}",
|
|
shape=record];
|
|
"0_gv26" -> 12 [label=T];
|
|
"0_gv26" -> 12 [style=dotted];
|
|
"8_gv4" -> 12;
|
|
12 -> "-2_gv26";
|
|
12 -> "-2_gv26" [style=dotted];
|
|
}
|
|
subgraph combined_gv27 {
|
|
graph [label=instanceCallMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv27" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv27" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 1\l|3: INVOKEVIRTUAL ExampleClass.instanceCallTarget ()V\l|4: // label\l|\
|
|
5: // line number information\l|6: ICONST_2 \l|7: IRETURN \l}",
|
|
shape=record];
|
|
"-1_gv27" -> "0_gv27";
|
|
"-1_gv27" -> "0_gv27" [style=dotted];
|
|
"-2_gv27" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv27" -> "-2_gv27";
|
|
"0_gv27" -> "-2_gv27" [style=dotted];
|
|
}
|
|
subgraph combined_gv28 {
|
|
graph [label=instanceCallTarget];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv28" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv28" [label="0|{0: // label\l|1: // line number information\l|2: RETURN \l}",
|
|
shape=record];
|
|
"-1_gv28" -> "0_gv28";
|
|
"-1_gv28" -> "0_gv28" [style=dotted];
|
|
"-2_gv28" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv28" -> "-2_gv28";
|
|
"0_gv28" -> "-2_gv28" [style=dotted];
|
|
}
|
|
subgraph combined_gv29 {
|
|
graph [label=interfaceCallMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv29" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv29" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 1\l|3: INVOKEINTERFACE ExampleClass$Interface.interfaceCallTarget ()\
|
|
V\l|4: // label\l|5: // line number information\l|6: ICONST_2 \l|7: IRETURN \l}",
|
|
shape=record];
|
|
"-1_gv29" -> "0_gv29";
|
|
"-1_gv29" -> "0_gv29" [style=dotted];
|
|
"-2_gv29" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv29" -> "-2_gv29";
|
|
"0_gv29" -> "-2_gv29" [style=dotted];
|
|
}
|
|
subgraph combined_gv30 {
|
|
graph [label=nestedFor];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv30" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv30" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ICONST_0 \l|7: ISTORE 3\l}",
|
|
shape=record];
|
|
"-1_gv30" -> "0_gv30";
|
|
"-1_gv30" -> "0_gv30" [style=dotted];
|
|
"-2_gv30" [label="-2|exit",
|
|
shape=record];
|
|
"8_gv5" [label="8|{8: // label\l|9: // stack frame map\l|10: ILOAD 3\l|11: ILOAD 1\l|12: IF_ICMPGE 37\l}",
|
|
shape=record];
|
|
"0_gv30" -> "8_gv5";
|
|
"0_gv30" -> "8_gv5" [style=dotted];
|
|
"13_gv5" [label="13|{13: // label\l|14: // line number information\l|15: ICONST_0 \l|16: ISTORE 4\l}",
|
|
shape=record];
|
|
"8_gv5" -> "13_gv5";
|
|
"8_gv5" -> "13_gv5" [style=dotted];
|
|
37 [label="37|{37: // label\l|38: // line number information\l|39: // stack frame map\l|40: ILOAD 2\l|41: IRETURN \l}",
|
|
shape=record];
|
|
"8_gv5" -> 37 [label=T];
|
|
"8_gv5" -> 37 [style=dotted];
|
|
17 [label="17|{17: // label\l|18: // stack frame map\l|19: ILOAD 4\l|20: ILOAD 3\l|21: IF_ICMPGE 32\l}",
|
|
shape=record];
|
|
"13_gv5" -> 17;
|
|
"13_gv5" -> 17 [style=dotted];
|
|
22 [label="22|{22: // label\l|23: // line number information\l|24: ILOAD 2\l|25: ILOAD 4\l|26: IADD \l|27: ISTORE 2\l|28: // label\l|29: // \
|
|
line number information\l|30: IINC 4 1\l|31: GOTO 17\l}",
|
|
shape=record];
|
|
17 -> 22;
|
|
17 -> 22 [style=dotted];
|
|
"32_gv1" [label="32|{32: // label\l|33: // line number information\l|34: // stack frame map\l|35: IINC 3 1\l|36: GOTO 8\l}",
|
|
shape=record];
|
|
17 -> "32_gv1" [label=T];
|
|
17 -> "32_gv1" [style=dotted];
|
|
22 -> 17 [label=T];
|
|
"32_gv1" -> "8_gv5" [label=T];
|
|
37 -> "-2_gv30";
|
|
37 -> "-2_gv30" [style=dotted];
|
|
}
|
|
subgraph combined_gv31 {
|
|
graph [label=nonShortCircuitMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv31" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv31" [label="0|{0: // label\l|1: // line number information\l|2: ILOAD 1\l|3: ILOAD 2\l|4: IF_ICMPLE 7\l}",
|
|
shape=record];
|
|
"-1_gv31" -> "0_gv31";
|
|
"-1_gv31" -> "0_gv31" [style=dotted];
|
|
"-2_gv31" [label="-2|exit",
|
|
shape=record];
|
|
"5_gv1" [label="5|{5: ICONST_1 \l|6: GOTO 10\l}",
|
|
shape=record];
|
|
"0_gv31" -> "5_gv1";
|
|
"0_gv31" -> "5_gv1" [style=dotted];
|
|
"7_gv1" [label="7|{7: // label\l|8: // stack frame map\l|9: ICONST_0 \l}",
|
|
shape=record];
|
|
"0_gv31" -> "7_gv1" [label=T];
|
|
"0_gv31" -> "7_gv1" [style=dotted];
|
|
"10_gv1" [label="10|{10: // label\l|11: // stack frame map\l|12: ILOAD 1\l|13: ILOAD 3\l|14: IF_ICMPGE 17\l}",
|
|
shape=record];
|
|
"0_gv31" -> "10_gv1" [style=dotted];
|
|
"5_gv1" -> "10_gv1" [label=T];
|
|
"7_gv1" -> "10_gv1";
|
|
15 [label="15|{15: ICONST_1 \l|16: GOTO 20\l}",
|
|
shape=record];
|
|
"10_gv1" -> 15;
|
|
"10_gv1" -> 15 [style=dotted];
|
|
"17_gv1" [label="17|{17: // label\l|18: // stack frame map\l|19: ICONST_0 \l}",
|
|
shape=record];
|
|
"10_gv1" -> "17_gv1" [label=T];
|
|
"10_gv1" -> "17_gv1" [style=dotted];
|
|
20 [label="20|{20: // label\l|21: // stack frame map\l|22: IAND \l|23: IFEQ 28\l}",
|
|
shape=record];
|
|
"10_gv1" -> 20 [style=dotted];
|
|
15 -> 20 [label=T];
|
|
"17_gv1" -> 20;
|
|
20 -> "-2_gv31" [style=dotted];
|
|
"24_gv1" [label="24|{24: // label\l|25: // line number information\l|26: ICONST_1 \l|27: IRETURN \l}",
|
|
shape=record];
|
|
20 -> "24_gv1";
|
|
20 -> "24_gv1" [style=dotted];
|
|
"28_gv1" [label="28|{28: // label\l|29: // line number information\l|30: // stack frame map\l|31: ICONST_0 \l|32: IRETURN \l}",
|
|
shape=record];
|
|
20 -> "28_gv1" [label=T];
|
|
20 -> "28_gv1" [style=dotted];
|
|
"24_gv1" -> "-2_gv31";
|
|
"24_gv1" -> "28_gv1";
|
|
"28_gv1" -> "-2_gv31";
|
|
}
|
|
subgraph combined_gv32 {
|
|
graph [label=privateInstanceCallMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv32" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv32" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 1\l|3: INVOKESPECIAL ExampleClass.privateInstanceCallTarget ()V\l|4: // \
|
|
label\l|5: // line number information\l|6: ICONST_2 \l|7: IRETURN \l}",
|
|
shape=record];
|
|
"-1_gv32" -> "0_gv32";
|
|
"-1_gv32" -> "0_gv32" [style=dotted];
|
|
"-2_gv32" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv32" -> "-2_gv32";
|
|
"0_gv32" -> "-2_gv32" [style=dotted];
|
|
}
|
|
subgraph combined_gv33 {
|
|
graph [label=privateInstanceCallTarget];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv33" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv33" [label="0|{0: // label\l|1: // line number information\l|2: RETURN \l}",
|
|
shape=record];
|
|
"-1_gv33" -> "0_gv33";
|
|
"-1_gv33" -> "0_gv33" [style=dotted];
|
|
"-2_gv33" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv33" -> "-2_gv33";
|
|
"0_gv33" -> "-2_gv33" [style=dotted];
|
|
}
|
|
subgraph combined_gv34 {
|
|
graph [label=shortCircuitMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv34" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv34" [label="0|{0: // label\l|1: // line number information\l|2: ILOAD 1\l|3: ILOAD 2\l|4: IF_ICMPLE 12\l}",
|
|
shape=record];
|
|
"-1_gv34" -> "0_gv34";
|
|
"-1_gv34" -> "0_gv34" [style=dotted];
|
|
"-2_gv34" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv34" -> "-2_gv34" [style=dotted];
|
|
"5_gv2" [label="5|{5: ILOAD 1\l|6: ILOAD 3\l|7: IF_ICMPGE 12\l}",
|
|
shape=record];
|
|
"0_gv34" -> "5_gv2";
|
|
"0_gv34" -> "5_gv2" [style=dotted];
|
|
"12_gv1" [label="12|{12: // label\l|13: // line number information\l|14: // stack frame map\l|15: ICONST_0 \l|16: IRETURN \l}",
|
|
shape=record];
|
|
"0_gv34" -> "12_gv1" [label=T];
|
|
"0_gv34" -> "12_gv1" [style=dotted];
|
|
"8_gv6" [label="8|{8: // label\l|9: // line number information\l|10: ICONST_1 \l|11: IRETURN \l}",
|
|
shape=record];
|
|
"5_gv2" -> "8_gv6";
|
|
"5_gv2" -> "8_gv6" [style=dotted];
|
|
"5_gv2" -> "12_gv1" [label=T];
|
|
"8_gv6" -> "-2_gv34";
|
|
"8_gv6" -> "12_gv1";
|
|
"12_gv1" -> "-2_gv34";
|
|
}
|
|
subgraph combined_gv35 {
|
|
graph [label=staticCallMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv35" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv35" [label="0|{0: // label\l|1: // line number information\l|2: INVOKESTATIC ExampleClass.staticCallTarget ()V\l|3: // label\l|4: // line \
|
|
number information\l|5: ICONST_2 \l|6: IRETURN \l}",
|
|
shape=record];
|
|
"-1_gv35" -> "0_gv35";
|
|
"-1_gv35" -> "0_gv35" [style=dotted];
|
|
"-2_gv35" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv35" -> "-2_gv35";
|
|
"0_gv35" -> "-2_gv35" [style=dotted];
|
|
}
|
|
subgraph combined_gv36 {
|
|
graph [label=staticCallTarget];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv36" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv36" [label="0|{0: // label\l|1: // line number information\l|2: RETURN \l}",
|
|
shape=record];
|
|
"-1_gv36" -> "0_gv36";
|
|
"-1_gv36" -> "0_gv36" [style=dotted];
|
|
"-2_gv36" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv36" -> "-2_gv36";
|
|
"0_gv36" -> "-2_gv36" [style=dotted];
|
|
}
|
|
subgraph combined_gv37 {
|
|
graph [label=staticFieldReadMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv37" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv37" [label="0|{0: // label\l|1: // line number information\l|2: GETSTATIC ExampleClass.staticField Ljava/lang/String;\l|3: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv37" -> "0_gv37";
|
|
"-1_gv37" -> "0_gv37" [style=dotted];
|
|
"-2_gv37" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv37" -> "-2_gv37";
|
|
"0_gv37" -> "-2_gv37" [style=dotted];
|
|
}
|
|
subgraph combined_gv38 {
|
|
graph [label=staticFieldWriteMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv38" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv38" [label="0|{0: // label\l|1: // line number information\l|2: ALOAD 1\l|3: PUTSTATIC ExampleClass.staticField Ljava/lang/String;\l|4: // \
|
|
label\l|5: // line number information\l|6: RETURN \l}",
|
|
shape=record];
|
|
"-1_gv38" -> "0_gv38";
|
|
"-1_gv38" -> "0_gv38" [style=dotted];
|
|
"-2_gv38" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv38" -> "-2_gv38";
|
|
"0_gv38" -> "-2_gv38" [style=dotted];
|
|
}
|
|
subgraph combined_gv39 {
|
|
graph [label=switchMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv39" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv39" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_0 \l|3: ISTORE 2\l|4: // label\l|5: // line number information\l|\
|
|
6: ILOAD 1\l|7: TABLESWITCH 0: 8, 1: 14, 2: 20, default: 26\l}",
|
|
shape=record];
|
|
"-1_gv39" -> "0_gv39";
|
|
"-1_gv39" -> "0_gv39" [style=dotted];
|
|
"-2_gv39" [label="-2|exit",
|
|
shape=record];
|
|
"8_gv7" [label="8|{8: // label\l|9: // line number information\l|10: // stack frame map\l|11: ICONST_0 \l|12: ISTORE 2\l|13: GOTO 31\l}",
|
|
shape=record];
|
|
"0_gv39" -> "8_gv7" [label=0];
|
|
"0_gv39" -> "8_gv7" [style=dotted];
|
|
"14_gv1" [label="14|{14: // label\l|15: // line number information\l|16: // stack frame map\l|17: ICONST_1 \l|18: ISTORE 2\l|19: GOTO 31\l}",
|
|
shape=record];
|
|
"0_gv39" -> "14_gv1" [label=1];
|
|
"0_gv39" -> "14_gv1" [style=dotted];
|
|
"20_gv1" [label="20|{20: // label\l|21: // line number information\l|22: // stack frame map\l|23: ICONST_2 \l|24: ISTORE 2\l|25: GOTO 31\l}",
|
|
shape=record];
|
|
"0_gv39" -> "20_gv1" [label=2];
|
|
"0_gv39" -> "20_gv1" [style=dotted];
|
|
26 [label="26|{26: // label\l|27: // line number information\l|28: // stack frame map\l|29: ICONST_M1 \l|30: ISTORE 2\l}",
|
|
shape=record];
|
|
"0_gv39" -> 26 [label=default];
|
|
"0_gv39" -> 26 [style=dotted];
|
|
31 [label="31|{31: // label\l|32: // line number information\l|33: // stack frame map\l|34: ILOAD 2\l|35: IRETURN \l}",
|
|
shape=record];
|
|
"0_gv39" -> 31 [style=dotted];
|
|
"8_gv7" -> 31 [label=T];
|
|
"14_gv1" -> 31 [label=T];
|
|
"20_gv1" -> 31 [label=T];
|
|
26 -> 31;
|
|
31 -> "-2_gv39";
|
|
31 -> "-2_gv39" [style=dotted];
|
|
}
|
|
subgraph combined_gv1 {
|
|
graph [label=alloc2Of3dArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv1" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv1" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_2 \l|3: ICONST_3 \l|4: MULTIANEWARRAY [[[I 2\l|5: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv1" -> "0_gv1";
|
|
"-1_gv1" -> "0_gv1" [style=dotted];
|
|
"-2_gv1" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv1" -> "-2_gv1";
|
|
"0_gv1" -> "-2_gv1" [style=dotted];
|
|
}
|
|
subgraph combined_gv2 {
|
|
graph [label=alloc2dArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv2" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv2" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_2 \l|3: ICONST_3 \l|4: MULTIANEWARRAY [[I 2\l|5: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv2" -> "0_gv2";
|
|
"-1_gv2" -> "0_gv2" [style=dotted];
|
|
"-2_gv2" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv2" -> "-2_gv2";
|
|
"0_gv2" -> "-2_gv2" [style=dotted];
|
|
}
|
|
subgraph combined_gv3 {
|
|
graph [label=allocAndInit2dArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv3" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv3" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_1 \l|3: ANEWARRAY [I\l|4: DUP \l|5: ICONST_0 \l|6: ICONST_1 \l|7: NEWARRAY \
|
|
T_INT\l|8: DUP \l|9: ICONST_0 \l|10: ICONST_1 \l|11: IASTORE \l|12: AASTORE \l|13: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv3" -> "0_gv3";
|
|
"-1_gv3" -> "0_gv3" [style=dotted];
|
|
"-2_gv3" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv3" -> "-2_gv3";
|
|
"0_gv3" -> "-2_gv3" [style=dotted];
|
|
}
|
|
subgraph combined_gv4 {
|
|
graph [label=allocAndInitIntArrayMethod];
|
|
node [label="\N",
|
|
shape="",
|
|
style=""
|
|
];
|
|
edge [label="",
|
|
style=""
|
|
];
|
|
"-1_gv4" [label="-1|entry",
|
|
shape=record,
|
|
style=filled];
|
|
"0_gv4" [label="0|{0: // label\l|1: // line number information\l|2: ICONST_2 \l|3: NEWARRAY T_INT\l|4: DUP \l|5: ICONST_0 \l|6: ICONST_1 \l|7: \
|
|
IASTORE \l|8: DUP \l|9: ICONST_1 \l|10: ICONST_2 \l|11: IASTORE \l|12: ARETURN \l}",
|
|
shape=record];
|
|
"-1_gv4" -> "0_gv4";
|
|
"-1_gv4" -> "0_gv4" [style=dotted];
|
|
"-2_gv4" [label="-2|exit",
|
|
shape=record];
|
|
"0_gv4" -> "-2_gv4";
|
|
"0_gv4" -> "-2_gv4" [style=dotted];
|
|
}
|
|
}
|