core: fix insn move check for field assign (#326)

This commit is contained in:
Skylot
2018-08-04 14:32:27 +03:00
parent b83e20b571
commit ea1c1eb803
@@ -134,8 +134,14 @@ public class CodeShrinker extends AbstractVisitor {
}
private static boolean usedArgAssign(InsnNode insn, BitSet args) {
if (args.isEmpty()) {
return false;
}
RegisterArg result = insn.getResult();
return result != null && args.get(result.getRegNum());
if (result == null || result.isField()) {
return false;
}
return args.get(result.getRegNum());
}
public WrapInfo inline(int assignInsnPos, RegisterArg arg) {