public abstract class IntegerDivRemNode extends FixedBinaryNode implements Lowerable, IterableNodeType, GuardingNode
| Modifier and Type | Class and Description |
|---|---|
static class |
IntegerDivRemNode.Op |
static class |
IntegerDivRemNode.Type |
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberableCanonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Ternary<T extends Node>, Canonicalizable.Unary<T extends Node>DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
protected JavaConstant |
deoptReasonAndAction |
protected JavaConstant |
deoptSpeculation |
static NodeClass<IntegerDivRemNode> |
TYPE |
x, ystateBeforenextEMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
IntegerDivRemNode(NodeClass<? extends IntegerDivRemNode> c,
Stamp stamp,
IntegerDivRemNode.Op op,
IntegerDivRemNode.Type type,
ValueNode dividend,
ValueNode divisor,
GuardingNode zeroGuard) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
boolean |
canFloat() |
JavaConstant |
getDeoptReasonAndAction() |
JavaConstant |
getDeoptSpeculation() |
IntegerDivRemNode.Op |
getOp() |
IntegerDivRemNode.Type |
getType() |
GuardingNode |
getZeroGuard() |
void |
setCanDeopt(boolean canDeopt) |
void |
setImplicitDeoptimization(JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation) |
void |
setZeroGuard(GuardingNode zeroCheck) |
getX, getY, setX, setYsetStateBefore, stateBeforeasFixedWithNextNode, next, setNextasFixedNode, verifyasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterfaceafterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, dynamicNodeSizeEstimate, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hasExactlyOneUsageOfType, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, hasUsagesOfType, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitasNodecanonical, canonicalcanUseAsStateDuringvalidateDeoptFrameStatesstatesasFixedNodepublic static final NodeClass<IntegerDivRemNode> TYPE
protected JavaConstant deoptReasonAndAction
protected JavaConstant deoptSpeculation
protected IntegerDivRemNode(NodeClass<? extends IntegerDivRemNode> c, Stamp stamp, IntegerDivRemNode.Op op, IntegerDivRemNode.Type type, ValueNode dividend, ValueNode divisor, GuardingNode zeroGuard)
public final GuardingNode getZeroGuard()
public void setZeroGuard(GuardingNode zeroCheck)
public final IntegerDivRemNode.Op getOp()
public final IntegerDivRemNode.Type getType()
public boolean canFloat()
public void setCanDeopt(boolean canDeopt)
public boolean canDeoptimize()
DeoptimizingNodecanDeoptimize in interface DeoptimizingNodepublic JavaConstant getDeoptReasonAndAction()
public JavaConstant getDeoptSpeculation()
public void setImplicitDeoptimization(JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation)