/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** * Returns whether this instance's opcode uses a result register. * This method is a convenient shorthand for * {@code getOpcode().hasResult()}. * * @return {@code true} iff this opcode uses a result register */ public final boolean hasResult() { return opcode.hasResult(); }
/** {@inheritDoc} */ public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
/** {@inheritDoc} */ public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
/** {@inheritDoc} */ @Override public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
/** {@inheritDoc} */ public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
/** {@inheritDoc} */ public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
/** {@inheritDoc} */ public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
/** {@inheritDoc} */ public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
/** {@inheritDoc} */ @Override public void visitThrowingInsn(ThrowingInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); RegisterSpec realResult; if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("shouldn't happen"); } realResult = getNextMoveResultPseudo(); if (opcode.hasResult() != (realResult != null)) { throw new RuntimeException( "Insn with result/move-result-pseudo mismatch" + insn); } addOutput(lastAddress); DalvInsn di = new SimpleInsn(opcode, pos, getRegs(insn, realResult)); addOutput(di); }
DalvInsn di; boolean hasResult = opcode.hasResult() || (rop.getOpcode() == RegOps.CHECK_CAST);
DalvInsn di; boolean hasResult = opcode.hasResult() || (rop.getOpcode() == RegOps.CHECK_CAST);
DalvInsn di; boolean hasResult = opcode.hasResult() || (rop.getOpcode() == RegOps.CHECK_CAST);
DalvInsn di; boolean hasResult = opcode.hasResult() || (rop.getOpcode() == RegOps.CHECK_CAST);