Pseudocode: don't write full label name when jump on it
This commit is contained in:
@@ -44,27 +44,27 @@ L0:
|
||||
w(x|<v4>)
|
||||
mark(if (true) 1 else 2)
|
||||
r(true) -> <v5>
|
||||
jf(L2 [else branch]|<v5>) NEXT:[r(2) -> <v7>, r(1) -> <v6>]
|
||||
jf(L2|<v5>) NEXT:[r(2) -> <v7>, r(1) -> <v6>]
|
||||
r(1) -> <v6>
|
||||
jmp(L3 ['if' expression result]) NEXT:[merge(if (true) 1 else 2|<v6>, <v7>) -> <v8>]
|
||||
jmp(L3) NEXT:[merge(if (true) 1 else 2|<v6>, <v7>) -> <v8>]
|
||||
L2 [else branch]:
|
||||
r(2) -> <v7> PREV:[jf(L2 [else branch]|<v5>)]
|
||||
r(2) -> <v7> PREV:[jf(L2|<v5>)]
|
||||
L3 ['if' expression result]:
|
||||
merge(if (true) 1 else 2|<v6>, <v7>) -> <v8> PREV:[jmp(L3 ['if' expression result]), r(2) -> <v7>]
|
||||
merge(if (true) 1 else 2|<v6>, <v7>) -> <v8> PREV:[jmp(L3), r(2) -> <v7>]
|
||||
w(x|<v8>)
|
||||
v(val y = true && false)
|
||||
r(true) -> <v9>
|
||||
jf(L4 [result of boolean operation]|<v9>) NEXT:[magic[AND](true && false|<v9>, <v10>) -> <v11>, r(false) -> <v10>]
|
||||
jf(L4|<v9>) NEXT:[magic[AND](true && false|<v9>, <v10>) -> <v11>, r(false) -> <v10>]
|
||||
r(false) -> <v10>
|
||||
L4 [result of boolean operation]:
|
||||
magic[AND](true && false|<v9>, <v10>) -> <v11> PREV:[jf(L4 [result of boolean operation]|<v9>), r(false) -> <v10>]
|
||||
magic[AND](true && false|<v9>, <v10>) -> <v11> PREV:[jf(L4|<v9>), r(false) -> <v10>]
|
||||
w(y|<v11>)
|
||||
v(val z = false && true)
|
||||
r(false) -> <v12>
|
||||
jf(L5 [result of boolean operation]|<v12>) NEXT:[magic[AND](false && true|<v12>, <v13>) -> <v14>, r(true) -> <v13>]
|
||||
jf(L5|<v12>) NEXT:[magic[AND](false && true|<v12>, <v13>) -> <v14>, r(true) -> <v13>]
|
||||
r(true) -> <v13>
|
||||
L5 [result of boolean operation]:
|
||||
magic[AND](false && true|<v12>, <v13>) -> <v14> PREV:[jf(L5 [result of boolean operation]|<v12>), r(true) -> <v13>]
|
||||
magic[AND](false && true|<v12>, <v13>) -> <v14> PREV:[jf(L5|<v12>), r(true) -> <v13>]
|
||||
w(z|<v14>)
|
||||
v(val t = Test())
|
||||
mark(Test())
|
||||
|
||||
Reference in New Issue
Block a user