public abstract class IntegerExactArithmeticSplitNode extends ControlSplitNode implements LIRLowerable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
(package private) AbstractBeginNode |
next |
(package private) AbstractBeginNode |
overflowSuccessor |
static NodeClass<IntegerExactArithmeticSplitNode> |
TYPE |
(package private) ValueNode |
x |
(package private) ValueNode |
y |
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
IntegerExactArithmeticSplitNode(NodeClass<? extends IntegerExactArithmeticSplitNode> c,
Stamp stamp,
ValueNode x,
ValueNode y,
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.
|
ValueNode |
getX() |
ValueNode |
getY() |
(package private) static void |
lower(LoweringTool tool,
IntegerExactArithmeticNode node) |
double |
probability(AbstractBeginNode successor) |
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, acceptSuccessors, afterClone, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, getDebugProperties, getDebugProperties, getId, getNodeClass, getUsageAt, getUsageCount, hashCode, hasNoUsages, hasUsages, inputs, isAlive, isDeleted, markDeleted, modCount, newIdentityMap, newIdentityMap, newIdentityMap, newMap, newMap, newMap, newSet, newSet, predecessor, pushInputs, removeUsage, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceFirstInput, replaceFirstSuccessor, safeDelete, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputspublic static final NodeClass<IntegerExactArithmeticSplitNode> TYPE
AbstractBeginNode next
AbstractBeginNode overflowSuccessor
protected IntegerExactArithmeticSplitNode(NodeClass<? extends IntegerExactArithmeticSplitNode> c, Stamp stamp, ValueNode x, ValueNode y, AbstractBeginNode next, AbstractBeginNode overflowSuccessor)
public AbstractBeginNode getPrimarySuccessor()
ControlSplitNodegetPrimarySuccessor in class ControlSplitNodepublic double probability(AbstractBeginNode successor)
probability in class ControlSplitNodepublic AbstractBeginNode getNext()
public AbstractBeginNode getOverflowSuccessor()
public void generate(NodeLIRBuilderTool generator)
generate in interface LIRLowerableprotected abstract Value generateArithmetic(NodeLIRBuilderTool generator)
static void lower(LoweringTool tool, IntegerExactArithmeticNode node)