Move InlineWithControlFlow to Smali based.
D8 tends to split return blocks instead of having a Phi + single return.
Instead of updating the checker assertions to match the dexer, this CL
moves the function into smali.
For reference, this is the D8 output:
.method public static InlineWithControlFlow(Z)I
.registers 5
.param p0, "cond" # Z
const/4 v0, 0x1
.local v0, "const1":I
const/4 v1, 0x3
.local v1, "const3":I
const/4 v2, 0x5
.local v2, "const5":I
if-eqz p0, :cond_a
invoke-static {v0, v1}, LMain;->returnAdd(II)I
move-result v3
return v3
:cond_a
invoke-static {v2, v1}, LMain;->returnSub(II)I
move-result v3
.local v3, "x":I
return v3
.end method
Bug: 65168732
Test: art/test.py -j20 --host -b
Change-Id: Ic89ff89ab0b8a2b057c5d6157f7b7c73764a1071
2 files changed