Interface JitBinOp

All Superinterfaces:
JitDefOp, JitOp
All Known Subinterfaces:
JitBoolBinOp, JitFloatBinOp, JitFloatTestOp, JitIntBinOp, JitIntTestOp
All Known Implementing Classes:
JitBoolAndOp, JitBoolOrOp, JitBoolXorOp, JitFloatAddOp, JitFloatDivOp, JitFloatEqualOp, JitFloatLessEqualOp, JitFloatLessOp, JitFloatMultOp, JitFloatNotEqualOp, JitFloatSubOp, JitIntAddOp, JitIntAndOp, JitIntCarryOp, JitIntDivOp, JitIntEqualOp, JitIntLeftOp, JitIntLessEqualOp, JitIntLessOp, JitIntMultOp, JitIntNotEqualOp, JitIntOrOp, JitIntRemOp, JitIntRightOp, JitIntSBorrowOp, JitIntSCarryOp, JitIntSDivOp, JitIntSLessEqualOp, JitIntSLessOp, JitIntSRemOp, JitIntSRightOp, JitIntSubOp, JitIntXorOp

public interface JitBinOp extends JitDefOp
A p-code operator use-def node with two inputs and one output.
  • Method Details

    • l

      JitVal l()
      The use-def node for the left input operand
      Returns:
      the input
    • r

      JitVal r()
      The use-def node for the right input operand
      Returns:
      the input
    • 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 JitDefOp
      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 JitDefOp
      Specified by:
      unlink in interface JitOp
    • inputs

      default List<JitVal> inputs()
      Description copied from interface: JitOp
      The input operand use-def nodes in some defined order
      Specified by:
      inputs in interface JitOp
      Returns:
      the list of inputs
    • lType

      The required type behavior for the left operand
      Returns:
      the behavior
    • rType

      The required type behavior for the right operand
      Returns:
      the behavior
    • typeFor

      default JitTypeBehavior typeFor(int position)
      Description copied from interface: JitOp
      Get the required type behavior for the input at the given position in JitOp.inputs()
      Specified by:
      typeFor in interface JitOp
      Parameters:
      position - the input position
      Returns:
      the behavior