public abstract class IntegerExactArithmeticSplitNode extends ControlSplitNode implements Simplifiable, LIRLowerable
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
static NodeClass<IntegerExactArithmeticSplitNode> |
TYPE |
EMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
IntegerExactArithmeticSplitNode(NodeClass<? extends IntegerExactArithmeticSplitNode> c,
Stamp stamp,
AbstractBeginNode next,
AbstractBeginNode overflowSuccessor) |
| Modifier and Type | Method and Description |
|---|---|
void |
generate(NodeLIRBuilderTool generator) |
protected abstract Value |
generateArithmetic(NodeLIRBuilderTool generator) |
AbstractBeginNode |
getNext() |
AbstractBeginNode |
getOverflowSuccessor() |
AbstractBeginNode |
getPrimarySuccessor()
Primary successor of the control split.
|
ProfileData.BranchProbabilityData |
getProfileData()
Returns the source of this node's knowledge about its successor probabilities.
|
int |
getSuccessorCount()
Returns the number of successors.
|
double |
probability(AbstractBeginNode successor) |
void |
setNext(AbstractBeginNode next) |
boolean |
setProbability(AbstractBeginNode successor,
ProfileData.BranchProbabilityData profileData)
Attempts to set the probability for the given successor to the passed value (which has to be
in the range of 0.0 and 1.0).
|
successorProbabilitiesasFixedNode, 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, 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, waitsimplifyasNodepublic static final NodeClass<IntegerExactArithmeticSplitNode> TYPE
protected IntegerExactArithmeticSplitNode(NodeClass<? extends IntegerExactArithmeticSplitNode> c, Stamp stamp, AbstractBeginNode next, AbstractBeginNode overflowSuccessor)
public AbstractBeginNode getPrimarySuccessor()
ControlSplitNodegetPrimarySuccessor in class ControlSplitNodepublic double probability(AbstractBeginNode successor)
probability in class ControlSplitNodepublic boolean setProbability(AbstractBeginNode successor, ProfileData.BranchProbabilityData profileData)
ControlSplitNodeprofileData's profile source.setProbability in class ControlSplitNodepublic ProfileData.BranchProbabilityData getProfileData()
ControlSplitNodegetProfileData in class ControlSplitNodepublic AbstractBeginNode getNext()
public AbstractBeginNode getOverflowSuccessor()
public void setNext(AbstractBeginNode next)
public void generate(NodeLIRBuilderTool generator)
generate in interface LIRLowerableprotected abstract Value generateArithmetic(NodeLIRBuilderTool generator)
public int getSuccessorCount()
ControlSplitNodegetSuccessorCount in class ControlSplitNode