blob: 5ccdd7ab36d97a0844aa01ea95c68a0dd3b79267 [file] [log] [blame]
== f ==
fun f(a : Boolean) : Unit {
1
a
2.toLong()
foo(a, 3)
genfun<Any>()
flfun {1}
3.equals(4)
3 equals 4
1 + 2
a && true
a || false
}
---------------------
L0:
1 <START>
v(a : Boolean)
magic[FAKE_INITIALIZER](a : Boolean) -> <v0>
w(a|<v0>)
2 mark({ 1 a 2.toLong() foo(a, 3) genfun<Any>() flfun {1} 3.equals(4) 3 equals 4 1 + 2 a && true a || false })
r(1) -> <v1>
r(a) -> <v2>
mark(2.toLong())
r(2) -> <v3>
mark(toLong())
call(toLong(), toLong|<v3>) -> <v4>
r(a) -> <v5>
r(3) -> <v6>
mark(foo(a, 3))
call(foo(a, 3), foo|<v5>, <v6>) -> <v7>
mark(genfun<Any>())
call(genfun<Any>(), genfun) -> <v8>
mark({1})
jmp?(L2) NEXT:[r({1}) -> <v9>, d({1})]
d({1}) NEXT:[<SINK>]
L2 [after local declaration]:
r({1}) -> <v9> PREV:[jmp?(L2)]
mark(flfun {1})
call(flfun {1}, flfun|<v9>) -> <v10>
mark(3.equals(4))
r(3) -> <v11>
r(4) -> <v12>
mark(equals(4))
call(equals(4), equals|<v11>, <v12>) -> <v13>
r(3) -> <v14>
r(4) -> <v15>
mark(3 equals 4)
call(3 equals 4, equals|<v14>, <v15>) -> <v16>
r(1) -> <v17>
r(2) -> <v18>
mark(1 + 2)
call(1 + 2, plus|<v17>, <v18>) -> <v19>
r(a) -> <v20>
jf(L5|<v20>) NEXT:[magic[AND](a && true|<v20>, <v21>) -> <v22>, r(true) -> <v21>]
r(true) -> <v21>
L5 [result of boolean operation]:
magic[AND](a && true|<v20>, <v21>) -> <v22> PREV:[jf(L5|<v20>), r(true) -> <v21>]
r(a) -> <v23>
jt(L6|<v23>) NEXT:[r(false) -> <v24>, magic[OR](a || false|<v23>, <v24>) -> <v25>]
r(false) -> <v24>
L6 [result of boolean operation]:
magic[OR](a || false|<v23>, <v24>) -> <v25> PREV:[jt(L6|<v23>), r(false) -> <v24>]
L1:
1 <END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>, d({1})]
=====================
== anonymous_0 ==
{1}
---------------------
L3:
3 <START>
4 mark(1)
r(1) -> <v0>
3 ret(*|<v0>) L4
L4:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== foo ==
fun foo(a : Boolean, b : Int) : Unit {}
---------------------
L0:
1 <START>
v(a : Boolean)
magic[FAKE_INITIALIZER](a : Boolean) -> <v0>
w(a|<v0>)
v(b : Int)
magic[FAKE_INITIALIZER](b : Int) -> <v1>
w(b|<v1>)
2 mark({})
read (Unit)
L1:
1 <END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== genfun ==
fun <T> genfun() : Unit {}
---------------------
L0:
1 <START>
2 mark({})
read (Unit)
L1:
1 <END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== flfun ==
fun flfun(f : () -> Any) : Unit {}
---------------------
L0:
1 <START>
v(f : () -> Any)
magic[FAKE_INITIALIZER](f : () -> Any) -> <v0>
w(f|<v0>)
2 mark({})
read (Unit)
L1:
1 <END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================