removed allow dead collecting

This commit is contained in:
Svetlana Isakova
2012-12-13 19:41:17 +04:00
parent 8584a76750
commit 6e8ac23689
8 changed files with 3 additions and 206 deletions
@@ -16,7 +16,6 @@ L0:
}) NEXT:[jmp?(L2 [onExceptionToFinallyBlock])] PREV:[<START>]
jmp?(L2 [onExceptionToFinallyBlock]) NEXT:[r(2), r(1)] PREV:[r(try { 1 } finally { 2 }) ]
r(1) NEXT:[jmp(L3 [skipFinallyToErrorBlock])] PREV:[jmp?(L2 [onExceptionToFinallyBlock])]
d0:
jmp(L3 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[r(1)]
L2 [onExceptionToFinallyBlock]:
L4 [start finally]:
@@ -26,7 +25,6 @@ L5 [finish finally]:
L3 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L3 [skipFinallyToErrorBlock])]
L1:
L6 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -70,7 +68,6 @@ L5 [finish finally]:
L3:
read (Unit) NEXT:[jmp(L7 [skipFinallyToErrorBlock])] PREV:[jf(L3)]
L6:
d0:
jmp(L7 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[read (Unit)]
L2 [onExceptionToFinallyBlock]:
r(2) NEXT:[jmp(error)] PREV:[jmp?(L2 [onExceptionToFinallyBlock])]
@@ -78,7 +75,6 @@ L2 [onExceptionToFinallyBlock]:
L7 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L7 [skipFinallyToErrorBlock])]
L1:
L8 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[ret L1, r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -125,7 +121,6 @@ L3:
return@
}
}) NEXT:[jmp(L8 [skipFinallyToErrorBlock])] PREV:[jmp?(L3)]
d0:
jmp(L8 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[r({ () => if (2 > 3) { retur..)]
L2 [onExceptionToFinallyBlock]:
L9 [start finally]:
@@ -135,7 +130,6 @@ L10 [finish finally]:
L8 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L8 [skipFinallyToErrorBlock])]
L1:
L11 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -258,7 +252,6 @@ L8 [finish finally]:
L6:
read (Unit) NEXT:[jmp(L10 [skipFinallyToErrorBlock])] PREV:[jf(L6)]
L9:
d0:
jmp(L10 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[read (Unit)]
L5 [onExceptionToFinallyBlock]:
r(2) NEXT:[jmp(error)] PREV:[jmp?(L5 [onExceptionToFinallyBlock])]
@@ -266,7 +259,6 @@ L5 [onExceptionToFinallyBlock]:
L10 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L10 [skipFinallyToErrorBlock])]
L4:
L11 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[ret L4, r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -311,7 +303,6 @@ L8 [finish finally]:
L6:
read (Unit) NEXT:[jmp(L10 [skipFinallyToErrorBlock])] PREV:[jf(L6)]
L9:
d0:
jmp(L10 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[read (Unit)]
L5 [onExceptionToFinallyBlock]:
r(2) NEXT:[jmp(error)] PREV:[jmp?(L5 [onExceptionToFinallyBlock])]
@@ -319,7 +310,6 @@ L5 [onExceptionToFinallyBlock]:
L10 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L10 [skipFinallyToErrorBlock])]
L4:
L11 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[ret L4, r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -379,14 +369,12 @@ L9 [finish finally]:
L7:
read (Unit) NEXT:[jmp(L11 [skipFinallyToErrorBlock])] PREV:[jf(L7)]
L10:
d0:
jmp(L11 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[read (Unit)]
L6 [onExceptionToFinallyBlock]:
r(2) NEXT:[jmp(error)] PREV:[jmp?(L6 [onExceptionToFinallyBlock])]
jmp(error) NEXT:[<ERROR>] PREV:[r(2)]
L11 [skipFinallyToErrorBlock]:
r(2) NEXT:[jmp(L2 [loop entry point])] PREV:[jmp(L11 [skipFinallyToErrorBlock])]
L12 [stop [d0]]:
jmp(L2 [loop entry point]) NEXT:[r(true)] PREV:[r(2)]
L3 [loop exit point]:
read (Unit) NEXT:[<END>] PREV:[jmp(L3 [loop exit point])]
@@ -451,7 +439,6 @@ L8:
L4 [loop exit point]:
read (Unit) NEXT:[r(5)] PREV:[jmp(L4 [loop exit point])]
r(5) NEXT:[jmp(L9 [skipFinallyToErrorBlock])] PREV:[read (Unit)]
d0:
jmp(L9 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[r(5)]
L2 [onExceptionToFinallyBlock]:
L10 [start finally]:
@@ -461,7 +448,6 @@ L11 [finish finally]:
L9 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L9 [skipFinallyToErrorBlock])]
L1:
L12 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -519,7 +505,6 @@ L8:
jmp(L3 [loop entry point]) NEXT:[r(true)] PREV:[read (Unit)]
L4 [loop exit point]:
read (Unit) NEXT:[jmp(L9 [skipFinallyToErrorBlock])] PREV:[jmp(L4 [loop exit point])]
d0:
jmp(L9 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[read (Unit)]
L2 [onExceptionToFinallyBlock]:
L10 [start finally]:
@@ -529,7 +514,6 @@ L11 [finish finally]:
L9 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L9 [skipFinallyToErrorBlock])]
L1:
L12 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -597,14 +581,12 @@ L9 [finish finally]:
L7:
read (Unit) NEXT:[jmp(L11 [skipFinallyToErrorBlock])] PREV:[jf(L7)]
L10:
d0:
jmp(L11 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[read (Unit)]
L6 [onExceptionToFinallyBlock]:
r(2) NEXT:[jmp(error)] PREV:[jmp?(L6 [onExceptionToFinallyBlock])]
jmp(error) NEXT:[<ERROR>] PREV:[r(2)]
L11 [skipFinallyToErrorBlock]:
r(2) NEXT:[jmp?(L4 [loop entry point])] PREV:[jmp(L11 [skipFinallyToErrorBlock])]
L12 [stop [d0]]:
jmp?(L4 [loop entry point]) NEXT:[r(try { 1 if (2 > 3) { conti..), read (Unit)] PREV:[r(2)]
L2:
read (Unit) NEXT:[<END>] PREV:[jmp?(L2), jmp?(L4 [loop entry point])]
@@ -677,7 +659,6 @@ L8:
L3:
read (Unit) NEXT:[r(5)] PREV:[jmp?(L3), jmp?(L5 [loop entry point])]
r(5) NEXT:[jmp(L9 [skipFinallyToErrorBlock])] PREV:[read (Unit)]
d0:
jmp(L9 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[r(5)]
L2 [onExceptionToFinallyBlock]:
L10 [start finally]:
@@ -687,7 +668,6 @@ L11 [finish finally]:
L9 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L9 [skipFinallyToErrorBlock])]
L1:
L12 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -753,7 +733,6 @@ L8:
jmp?(L5 [loop entry point]) NEXT:[r(1), read (Unit)] PREV:[read (Unit)]
L3:
read (Unit) NEXT:[jmp(L9 [skipFinallyToErrorBlock])] PREV:[jmp?(L3), jmp?(L5 [loop entry point])]
d0:
jmp(L9 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[read (Unit)]
L2 [onExceptionToFinallyBlock]:
L10 [start finally]:
@@ -763,7 +742,6 @@ L11 [finish finally]:
L9 [skipFinallyToErrorBlock]:
r(2) NEXT:[<END>] PREV:[jmp(L9 [skipFinallyToErrorBlock])]
L1:
L12 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[r(2)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -795,7 +773,6 @@ L3 [start finally]:
ret(*) L1 NEXT:[<END>] PREV:[r(2)]
L4 [finish finally]:
- ret(*) L1 NEXT:[<END>] PREV:[]
d0:
- jmp(L5 [skipFinallyToErrorBlock]) NEXT:[r(2)] PREV:[]
L2 [onExceptionToFinallyBlock]:
r(2) NEXT:[ret(*) L1] PREV:[jmp?(L2 [onExceptionToFinallyBlock])]
@@ -805,7 +782,6 @@ L5 [skipFinallyToErrorBlock]:
- r(2) NEXT:[ret(*) L1] PREV:[]
- ret(*) L1 NEXT:[<END>] PREV:[]
L1:
L6 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[ret(*) L1, ret(*) L1]
error:
<ERROR> NEXT:[<SINK>] PREV:[]
@@ -838,7 +814,6 @@ L3 [start finally]:
r(doSmth(3)) NEXT:[ret(*) L1] PREV:[r(doSmth)]
L4 [finish finally]:
ret(*) L1 NEXT:[<END>] PREV:[r(doSmth(3))]
d0:
- jmp(L5 [skipFinallyToErrorBlock]) NEXT:[r(3)] PREV:[]
L2 [onExceptionToFinallyBlock]:
r(3) NEXT:[r(doSmth)] PREV:[jmp?(L2 [onExceptionToFinallyBlock])]
@@ -850,7 +825,6 @@ L5 [skipFinallyToErrorBlock]:
- r(doSmth) NEXT:[r(doSmth(3))] PREV:[]
- r(doSmth(3)) NEXT:[<END>] PREV:[]
L1:
L6 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[ret(*) L1]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -890,7 +864,6 @@ L4 [start finally]:
r(doSmth(3)) NEXT:[ret(*) L1] PREV:[r(doSmth)]
L5 [finish finally]:
ret(*) L1 NEXT:[<END>] PREV:[r(doSmth(3))]
d0:
- jmp(L6 [afterCatches]) NEXT:[jmp(L7 [skipFinallyToErrorBlock])] PREV:[]
L2 [onException]:
v(e: UnsupportedOperationException) NEXT:[w(e)] PREV:[jmp?(L2 [onException])]
@@ -898,7 +871,6 @@ L2 [onException]:
r(2) NEXT:[r(doSmth)] PREV:[w(e)]
r(doSmth) NEXT:[r(doSmth(2))] PREV:[r(2)]
r(doSmth(2)) NEXT:[jmp(L6 [afterCatches])] PREV:[r(doSmth)]
d1:
jmp(L6 [afterCatches]) NEXT:[jmp(L7 [skipFinallyToErrorBlock])] PREV:[r(doSmth(2))]
L6 [afterCatches]:
jmp(L7 [skipFinallyToErrorBlock]) NEXT:[r(3)] PREV:[jmp(L6 [afterCatches])]
@@ -912,7 +884,6 @@ L7 [skipFinallyToErrorBlock]:
r(doSmth) NEXT:[r(doSmth(3))] PREV:[r(3)]
r(doSmth(3)) NEXT:[<END>] PREV:[r(doSmth)]
L1:
L8 [stop [d0, d1]]:
<END> NEXT:[<SINK>] PREV:[ret(*) L1, r(doSmth(3))]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -940,7 +911,6 @@ L0:
jmp?(L2 [onException]) NEXT:[v(e: UnsupportedOperationException), r(1)] PREV:[r(try { return 1 } catch (e:..)]
r(1) NEXT:[ret(*) L1] PREV:[jmp?(L2 [onException])]
ret(*) L1 NEXT:[<END>] PREV:[r(1)]
d0:
- jmp(L3 [afterCatches]) NEXT:[<END>] PREV:[]
L2 [onException]:
v(e: UnsupportedOperationException) NEXT:[w(e)] PREV:[jmp?(L2 [onException])]
@@ -948,11 +918,9 @@ L2 [onException]:
r(2) NEXT:[r(doSmth)] PREV:[w(e)]
r(doSmth) NEXT:[r(doSmth(2))] PREV:[r(2)]
r(doSmth(2)) NEXT:[jmp(L3 [afterCatches])] PREV:[r(doSmth)]
d1:
jmp(L3 [afterCatches]) NEXT:[<END>] PREV:[r(doSmth(2))]
L1:
L3 [afterCatches]:
L4 [stop [d0, d1]]:
<END> NEXT:[<SINK>] PREV:[ret(*) L1, jmp(L3 [afterCatches])]
error:
<ERROR> NEXT:[<SINK>] PREV:[]
@@ -992,7 +960,6 @@ L4 [start finally]:
r(doSmth(3)) NEXT:[ret(*) L1] PREV:[r(doSmth)]
L5 [finish finally]:
ret(*) L1 NEXT:[<END>] PREV:[r(doSmth(3))]
d0:
- jmp(L6 [afterCatches]) NEXT:[jmp(L7 [skipFinallyToErrorBlock])] PREV:[]
L2 [onException]:
v(e: UnsupportedOperationException) NEXT:[w(e)] PREV:[jmp?(L2 [onException])]
@@ -1002,7 +969,6 @@ L2 [onException]:
r(doSmth) NEXT:[r(doSmth(3))] PREV:[r(3)]
r(doSmth(3)) NEXT:[ret(*) L1] PREV:[r(doSmth)]
ret(*) L1 NEXT:[<END>] PREV:[r(doSmth(3))]
d1:
- jmp(L6 [afterCatches]) NEXT:[jmp(L7 [skipFinallyToErrorBlock])] PREV:[]
L6 [afterCatches]:
- jmp(L7 [skipFinallyToErrorBlock]) NEXT:[r(3)] PREV:[]
@@ -1016,7 +982,6 @@ L7 [skipFinallyToErrorBlock]:
- r(doSmth) NEXT:[r(doSmth(3))] PREV:[]
- r(doSmth(3)) NEXT:[<END>] PREV:[]
L1:
L8 [stop [d0, d1]]:
<END> NEXT:[<SINK>] PREV:[ret(*) L1, ret(*) L1]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -1052,7 +1017,6 @@ L0:
r(1) NEXT:[r(doSmth)] PREV:[jmp?(L3 [onExceptionToFinallyBlock])]
r(doSmth) NEXT:[r(doSmth(1))] PREV:[r(1)]
r(doSmth(1)) NEXT:[jmp(L4 [afterCatches])] PREV:[r(doSmth)]
d0:
jmp(L4 [afterCatches]) NEXT:[jmp(L7 [skipFinallyToErrorBlock])] PREV:[r(doSmth(1))]
L2 [onException]:
v(e: UnsupportedOperationException) NEXT:[w(e)] PREV:[jmp?(L2 [onException])]
@@ -1064,7 +1028,6 @@ L5 [start finally]:
r(doSmth(3)) NEXT:[ret(*) L1] PREV:[r(doSmth)]
L6 [finish finally]:
ret(*) L1 NEXT:[<END>] PREV:[r(doSmth(3))]
d1:
- jmp(L4 [afterCatches]) NEXT:[jmp(L7 [skipFinallyToErrorBlock])] PREV:[]
L4 [afterCatches]:
jmp(L7 [skipFinallyToErrorBlock]) NEXT:[r(3)] PREV:[jmp(L4 [afterCatches])]
@@ -1078,7 +1041,6 @@ L7 [skipFinallyToErrorBlock]:
r(doSmth) NEXT:[r(doSmth(3))] PREV:[r(3)]
r(doSmth(3)) NEXT:[<END>] PREV:[r(doSmth)]
L1:
L8 [stop [d0, d1]]:
<END> NEXT:[<SINK>] PREV:[ret(*) L1, r(doSmth(3))]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -32,7 +32,6 @@ L0:
jmp?(L3 [onExceptionToFinallyBlock]) NEXT:[r(1), r(doSmth)] PREV:[jmp?(L2 [onException])]
r(doSmth) NEXT:[r(doSmth())] PREV:[jmp?(L3 [onExceptionToFinallyBlock])]
r(doSmth()) NEXT:[jmp(L4 [afterCatches])] PREV:[r(doSmth)]
d0:
jmp(L4 [afterCatches]) NEXT:[jmp(L6 [skipFinallyToErrorBlock])] PREV:[r(doSmth())]
L2 [onException]:
jmp?(L5 [catch 0]) NEXT:[v(e: Exception), v(e: NullPointerException)] PREV:[jmp?(L2 [onException])]
@@ -40,14 +39,12 @@ L2 [onException]:
w(e) NEXT:[r(doSmth1)] PREV:[v(e: NullPointerException)]
r(doSmth1) NEXT:[r(doSmth1())] PREV:[w(e)]
r(doSmth1()) NEXT:[jmp(L4 [afterCatches])] PREV:[r(doSmth1)]
d1:
jmp(L4 [afterCatches]) NEXT:[jmp(L6 [skipFinallyToErrorBlock])] PREV:[r(doSmth1())]
L5 [catch 0]:
v(e: Exception) NEXT:[w(e)] PREV:[jmp?(L5 [catch 0])]
w(e) NEXT:[r(doSmth2)] PREV:[v(e: Exception)]
r(doSmth2) NEXT:[r(doSmth2())] PREV:[w(e)]
r(doSmth2()) NEXT:[jmp(L4 [afterCatches])] PREV:[r(doSmth2)]
d2:
jmp(L4 [afterCatches]) NEXT:[jmp(L6 [skipFinallyToErrorBlock])] PREV:[r(doSmth2())]
L4 [afterCatches]:
jmp(L6 [skipFinallyToErrorBlock]) NEXT:[r(1)] PREV:[jmp(L4 [afterCatches]), jmp(L4 [afterCatches]), jmp(L4 [afterCatches])]
@@ -61,7 +58,6 @@ L6 [skipFinallyToErrorBlock]:
r(1) NEXT:[ret(*) L1] PREV:[jmp(L6 [skipFinallyToErrorBlock])]
ret(*) L1 NEXT:[<END>] PREV:[r(1)]
L1:
L9 [stop [d0, d1, d2]]:
<END> NEXT:[<SINK>] PREV:[ret(*) L1, ret(*) L1]
error:
<ERROR> NEXT:[<SINK>] PREV:[]
@@ -127,7 +123,6 @@ L4 [body entry point]:
jmp?(L7 [onExceptionToFinallyBlock]) NEXT:[r(cond), r(doSmth)] PREV:[jmp?(L6 [onException])]
r(doSmth) NEXT:[r(doSmth())] PREV:[jmp?(L7 [onExceptionToFinallyBlock])]
r(doSmth()) NEXT:[jmp(L8 [afterCatches])] PREV:[r(doSmth)]
d0:
jmp(L8 [afterCatches]) NEXT:[jmp(L10 [skipFinallyToErrorBlock])] PREV:[r(doSmth())]
L6 [onException]:
jmp?(L9 [catch 0]) NEXT:[v(e: Exception), v(e: NullPointerException)] PREV:[jmp?(L6 [onException])]
@@ -135,14 +130,12 @@ L6 [onException]:
w(e) NEXT:[r(doSmth1)] PREV:[v(e: NullPointerException)]
r(doSmth1) NEXT:[r(doSmth1())] PREV:[w(e)]
r(doSmth1()) NEXT:[jmp(L8 [afterCatches])] PREV:[r(doSmth1)]
d1:
jmp(L8 [afterCatches]) NEXT:[jmp(L10 [skipFinallyToErrorBlock])] PREV:[r(doSmth1())]
L9 [catch 0]:
v(e: Exception) NEXT:[w(e)] PREV:[jmp?(L9 [catch 0])]
w(e) NEXT:[r(doSmth2)] PREV:[v(e: Exception)]
r(doSmth2) NEXT:[r(doSmth2())] PREV:[w(e)]
r(doSmth2()) NEXT:[jmp(L8 [afterCatches])] PREV:[r(doSmth2)]
d2:
jmp(L8 [afterCatches]) NEXT:[jmp(L10 [skipFinallyToErrorBlock])] PREV:[r(doSmth2())]
L8 [afterCatches]:
jmp(L10 [skipFinallyToErrorBlock]) NEXT:[r(cond)] PREV:[jmp(L8 [afterCatches]), jmp(L8 [afterCatches]), jmp(L8 [afterCatches])]
@@ -165,7 +158,6 @@ L10 [skipFinallyToErrorBlock]:
ret L1 NEXT:[<END>] PREV:[jf(copy L12)]
- jmp(copy L13) NEXT:[jmp(L2 [loop entry point])] PREV:[]
jmp(L2 [loop entry point]) NEXT:[r(cond)] PREV:[jf(copy L12)]
L15 [stop [d0, d1, d2]]:
- jmp(L2 [loop entry point]) NEXT:[r(cond)] PREV:[]
L3 [loop exit point]:
read (Unit) NEXT:[<END>] PREV:[jf(L3 [loop exit point])]
@@ -210,7 +202,6 @@ L0:
jmp?(L3 [onExceptionToFinallyBlock]) NEXT:[r(while (cond())), r(doSmth)] PREV:[jmp?(L2 [onException])]
r(doSmth) NEXT:[r(doSmth())] PREV:[jmp?(L3 [onExceptionToFinallyBlock])]
r(doSmth()) NEXT:[jmp(L4 [afterCatches])] PREV:[r(doSmth)]
d0:
jmp(L4 [afterCatches]) NEXT:[jmp(L6 [skipFinallyToErrorBlock])] PREV:[r(doSmth())]
L2 [onException]:
jmp?(L5 [catch 0]) NEXT:[v(e: Exception), v(e: NullPointerException)] PREV:[jmp?(L2 [onException])]
@@ -218,14 +209,12 @@ L2 [onException]:
w(e) NEXT:[r(doSmth1)] PREV:[v(e: NullPointerException)]
r(doSmth1) NEXT:[r(doSmth1())] PREV:[w(e)]
r(doSmth1()) NEXT:[jmp(L4 [afterCatches])] PREV:[r(doSmth1)]
d1:
jmp(L4 [afterCatches]) NEXT:[jmp(L6 [skipFinallyToErrorBlock])] PREV:[r(doSmth1())]
L5 [catch 0]:
v(e: Exception) NEXT:[w(e)] PREV:[jmp?(L5 [catch 0])]
w(e) NEXT:[r(doSmth2)] PREV:[v(e: Exception)]
r(doSmth2) NEXT:[r(doSmth2())] PREV:[w(e)]
r(doSmth2()) NEXT:[jmp(L4 [afterCatches])] PREV:[r(doSmth2)]
d2:
jmp(L4 [afterCatches]) NEXT:[jmp(L6 [skipFinallyToErrorBlock])] PREV:[r(doSmth2())]
L4 [afterCatches]:
jmp(L6 [skipFinallyToErrorBlock]) NEXT:[r(while (cond()))] PREV:[jmp(L4 [afterCatches]), jmp(L4 [afterCatches]), jmp(L4 [afterCatches])]
@@ -251,7 +240,6 @@ L6 [skipFinallyToErrorBlock]:
jmp(copy L8 [loop entry point]) NEXT:[r(cond)] PREV:[jf(copy L9 [loop exit point])]
read (Unit) NEXT:[<END>] PREV:[jf(copy L9 [loop exit point])]
L1:
L13 [stop [d0, d1, d2]]:
<END> NEXT:[<SINK>] PREV:[read (Unit)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]
@@ -281,7 +269,6 @@ L0:
jmp?(L2 [onExceptionToFinallyBlock]) NEXT:[r(list), r(doSmth)] PREV:[r(try { doSmth() } finally {..)]
r(doSmth) NEXT:[r(doSmth())] PREV:[jmp?(L2 [onExceptionToFinallyBlock])]
r(doSmth()) NEXT:[jmp(L3 [skipFinallyToErrorBlock])] PREV:[r(doSmth)]
d0:
jmp(L3 [skipFinallyToErrorBlock]) NEXT:[r(list)] PREV:[r(doSmth())]
L2 [onExceptionToFinallyBlock]:
L4 [start finally]:
@@ -307,7 +294,6 @@ L3 [skipFinallyToErrorBlock]:
jmp(copy L6) NEXT:[<END>] PREV:[read (Unit)]
read (Unit) NEXT:[<END>] PREV:[jf(copy L5)]
L1:
L8 [stop [d0]]:
<END> NEXT:[<SINK>] PREV:[jmp(copy L6), read (Unit)]
error:
<ERROR> NEXT:[<SINK>] PREV:[jmp(error)]