35 lines
1004 B
Plaintext
Vendored
35 lines
1004 B
Plaintext
Vendored
== foo ==
|
|
fun foo(a: Int, b: Int) {
|
|
if (a == b) {
|
|
}
|
|
}
|
|
---------------------
|
|
L0:
|
|
1 <START>
|
|
v(a: Int)
|
|
magic[FAKE_INITIALIZER](a: Int) -> <v0>
|
|
w(a|<v0>)
|
|
v(b: Int)
|
|
magic[FAKE_INITIALIZER](b: Int) -> <v1>
|
|
w(b|<v1>)
|
|
2 mark({ if (a == b) { } })
|
|
mark(if (a == b) { })
|
|
r(a) -> <v2>
|
|
r(b) -> <v3>
|
|
mark(a == b)
|
|
call(a == b, equals|<v2>, <v3>) -> <v4>
|
|
jf(L2|<v4>) NEXT:[read (Unit), mark({ })]
|
|
3 mark({ })
|
|
read (Unit)
|
|
2 jmp(L3) NEXT:[merge(if (a == b) { }|!<v5>) -> <v6>]
|
|
L2 [else branch]:
|
|
read (Unit) PREV:[jf(L2|<v4>)]
|
|
L3 ['if' expression result]:
|
|
merge(if (a == b) { }|!<v5>) -> <v6> PREV:[jmp(L3), read (Unit)]
|
|
L1:
|
|
1 <END> NEXT:[<SINK>]
|
|
error:
|
|
<ERROR> PREV:[]
|
|
sink:
|
|
<SINK> PREV:[<ERROR>, <END>]
|
|
===================== |