Interface JitDefOp

All Superinterfaces:
JitOp
All Known Subinterfaces:
JitBinOp, JitBoolBinOp, JitBoolUnOp, JitFloatBinOp, JitFloatTestOp, JitFloatUnOp, JitIntBinOp, JitIntTestOp, JitIntUnOp, JitUnOp
All Known Implementing Classes:
JitBoolAndOp, JitBoolNegateOp, JitBoolOrOp, JitBoolXorOp, JitCallOtherDefOp, JitCatenateOp, JitCopyOp, JitFloatAbsOp, JitFloatAddOp, JitFloatCeilOp, JitFloatDivOp, JitFloatEqualOp, JitFloatFloat2FloatOp, JitFloatFloorOp, JitFloatInt2FloatOp, JitFloatLessEqualOp, JitFloatLessOp, JitFloatMultOp, JitFloatNaNOp, JitFloatNegOp, JitFloatNotEqualOp, JitFloatRoundOp, JitFloatSqrtOp, JitFloatSubOp, JitFloatTruncOp, JitInt2CompOp, JitIntAddOp, JitIntAndOp, JitIntCarryOp, JitIntDivOp, JitIntEqualOp, JitIntLeftOp, JitIntLessEqualOp, JitIntLessOp, JitIntMultOp, JitIntNegateOp, JitIntNotEqualOp, JitIntOrOp, JitIntRemOp, JitIntRightOp, JitIntSBorrowOp, JitIntSCarryOp, JitIntSDivOp, JitIntSExtOp, JitIntSLessEqualOp, JitIntSLessOp, JitIntSRemOp, JitIntSRightOp, JitIntSubOp, JitIntXorOp, JitIntZExtOp, JitLoadOp, JitLzCountOp, JitPhiOp, JitPopCountOp, JitSubPieceOp, JitSynthSubPieceOp

public interface JitDefOp extends JitOp
A p-code operator use-def node with an output
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Indicates the operation can be removed if its output is never used.
    default void
    Add this op to the JitVal.uses() of each input operand, and (if applicable) set the JitOutVar.definition() of the output operand to this op.
    out()
    The the use-def variable node for the output.
    The required type behavior for the output
    default void
    Remove this op from the JitVal.uses() of each input operand, and (if applicable) unset the JitOutVar.definition() of the output operand.

    Methods inherited from interface ghidra.pcode.emu.jit.op.JitOp

    inputs, op, typeFor
  • Method Details

    • canBeRemoved

      default boolean canBeRemoved()
      Description copied from interface: JitOp
      Indicates the operation can be removed if its output is never used.
      Specified by:
      canBeRemoved in interface JitOp
      Returns:
      true if removable
    • out

      JitOutVar out()
      The the use-def variable node for the output.
      Returns:
      the output
    • link

      default void link()
      Description copied from interface: JitOp
      Add this op to the JitVal.uses() of each input operand, and (if applicable) set the JitOutVar.definition() of the output operand to this op.
      Specified by:
      link in interface JitOp
    • unlink

      default void unlink()
      Description copied from interface: JitOp
      Remove this op from the JitVal.uses() of each input operand, and (if applicable) unset the JitOutVar.definition() of the output operand.
      Specified by:
      unlink in interface JitOp
    • type

      The required type behavior for the output
      Returns:
      the behavior