public abstract class AbstractStateSplit extends FixedWithNextNode implements StateSplit
StateSplit
.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
protected FrameState |
stateAfter |
static NodeClass<AbstractStateSplit> |
TYPE |
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
AbstractStateSplit(NodeClass<? extends AbstractStateSplit> c,
Stamp stamp) |
protected |
AbstractStateSplit(NodeClass<? extends AbstractStateSplit> c,
Stamp stamp,
FrameState stateAfter) |
Modifier and Type | Method and Description |
---|---|
boolean |
hasSideEffect()
Determines if this node has a side-effect.
|
void |
setStateAfter(FrameState x)
Sets the
FrameState corresponding to the state of the JVM after execution of this
node. |
FrameState |
stateAfter()
Gets the
FrameState corresponding to the state of the JVM after execution of this
node. |
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, 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, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode
states
public static final NodeClass<AbstractStateSplit> TYPE
protected FrameState stateAfter
protected AbstractStateSplit(NodeClass<? extends AbstractStateSplit> c, Stamp stamp)
protected AbstractStateSplit(NodeClass<? extends AbstractStateSplit> c, Stamp stamp, FrameState stateAfter)
public FrameState stateAfter()
StateSplit
FrameState
corresponding to the state of the JVM after execution of this
node.stateAfter
in interface StateSplit
public void setStateAfter(FrameState x)
StateSplit
FrameState
corresponding to the state of the JVM after execution of this
node.setStateAfter
in interface StateSplit
public boolean hasSideEffect()
StateSplit
FrameState
nodes.hasSideEffect
in interface StateSplit