Pseudocode: Add debug information to magic instructions

This commit is contained in:
Alexey Sedunov
2014-06-26 13:06:28 +04:00
parent d636d362b7
commit 4707f4a5e9
125 changed files with 1204 additions and 1157 deletions
@@ -4,14 +4,14 @@ fun foo(i: Int = 1, j: Int) = i + j
L0:
1 <START>
v(i: Int = 1)
jmp?(L2 [after default value for parameter i]) NEXT:[magic(i: Int = 1) -> <v1>, r(1) -> <v0>]
jmp?(L2 [after default value for parameter i]) NEXT:[magic[FAKE_INITIALIZER](i: Int = 1) -> <v1>, r(1) -> <v0>]
r(1) -> <v0>
L2 [after default value for parameter i]:
magic(i: Int = 1) -> <v1> PREV:[jmp?(L2 [after default value for parameter i]), r(1) -> <v0>]
magic[FAKE_INITIALIZER](i: Int = 1) -> <v1> PREV:[jmp?(L2 [after default value for parameter i]), r(1) -> <v0>]
merge(i: Int = 1|<v0>, <v1>) -> <v2>
w(i|<v2>)
v(j: Int)
magic(j: Int) -> <v3>
magic[FAKE_INITIALIZER](j: Int) -> <v3>
w(j|<v3>)
r(i) -> <v4>
r(j) -> <v5>
@@ -1,11 +1,11 @@
== foo ==
fun foo(i: Int = 1, j: Int) = i + j
---------------------
<v1>: Int NEW: magic(i: Int = 1) -> <v1>
<v3>: Int NEW: magic(j: Int) -> <v3>
1 <v0>: Int NEW: r(1) -> <v0>
i: Int = 1 <v2>: Int NEW: merge(i: Int = 1|<v0>, <v1>) -> <v2>
i <v4>: Int NEW: r(i) -> <v4>
j <v5>: Int NEW: r(j) -> <v5>
i + j <v6>: Int NEW: call(i + j, plus|<v4>, <v5>) -> <v6>
=====================
<v1>: Int NEW: magic[FAKE_INITIALIZER](i: Int = 1) -> <v1>
<v3>: Int NEW: magic[FAKE_INITIALIZER](j: Int) -> <v3>
1 <v0>: Int NEW: r(1) -> <v0>
i: Int = 1 <v2>: Int NEW: merge(i: Int = 1|<v0>, <v1>) -> <v2>
i <v4>: Int NEW: r(i) -> <v4>
j <v5>: Int NEW: r(j) -> <v5>
i + j <v6>: Int NEW: call(i + j, plus|<v4>, <v5>) -> <v6>
=====================