Interface JitOp
- All Known Subinterfaces:
JitBinOp, JitBoolBinOp, JitBoolUnOp, JitCallOtherOpIf, JitDefOp, JitFloatBinOp, JitFloatTestOp, JitFloatUnOp, JitIntBinOp, JitIntTestOp, JitIntUnOp, JitSyntheticOp, JitUnOp
- All Known Implementing Classes:
JitBoolAndOp, JitBoolNegateOp, JitBoolOrOp, JitBoolXorOp, JitBranchIndOp, JitBranchOp, JitCallOtherDefOp, JitCallOtherMissingOp, JitCallOtherOp, JitCatenateOp, JitCBranchOp, 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, JitNopOp, JitPhiOp, JitPopCountOp, JitStoreOp, JitSubPieceOp, JitSynthSubPieceOp, JitUnimplementedOp
public interface JitOp
A p-code operator use-def node.
For a table of p-code ops, use-def nodes, and code generators, see OpGen.
-
Method Summary
Modifier and TypeMethodDescriptionstatic JitDefOpCreate a use-def node for a binary p-coe opbooleanIndicates the operation can be removed if its output is never used.inputs()The input operand use-def nodes in some defined ordervoidlink()Add this op to theJitVal.uses()of each input operand, and (if applicable) set theJitOutVar.definition()of the output operand to this op.op()The p-code op represented by this use-def nodestatic JitOpCreate a use-def node for a nop or unimplemented op.typeFor(int position) Get the required type behavior for the input at the given position ininputs()voidunlink()Remove this op from theJitVal.uses()of each input operand, and (if applicable) unset theJitOutVar.definition()of the output operand.static JitUnOpCreate a use-def node for a unary p-coe op
-
Method Details
-
stubOp
-
unOp
-
binOp
-
op
-
canBeRemoved
boolean canBeRemoved()Indicates the operation can be removed if its output is never used.- Returns:
- true if removable
-
inputs
-
typeFor
Get the required type behavior for the input at the given position ininputs()- Parameters:
position- the input position- Returns:
- the behavior
-
link
void link()Add this op to theJitVal.uses()of each input operand, and (if applicable) set theJitOutVar.definition()of the output operand to this op. -
unlink
void unlink()Remove this op from theJitVal.uses()of each input operand, and (if applicable) unset theJitOutVar.definition()of the output operand.
-