public final void removeDeadAssignments(InsnList instructions, AbstractInsnNode insn) {
if (insn.getOpcode() != Opcodes.ASTORE) return;
VarInsnNode varInsn = (VarInsnNode)insn;
Value topValue = getStack(getStackSize() - 1);
if (!liveOut.get(varInsn.var) && topValue != IsNullInterpreter.NULL) {
InsnNode pop = new InsnNode(Opcodes.POP);
instructions.insert(insn, pop);
instructions.remove(insn);
def.clear();