public abstract class BeginStateSplitNode extends AbstractBeginNode implements StateSplit
AbstractBeginNodes that are associated with a frame state.
TODO (dnsimon) this not needed until AbstractBeginNode no longer implements
StateSplit which is not possible until loop peeling works without requiring begin nodes
to have frames states.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<BeginStateSplitNode> |
TYPE |
nextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
BeginStateSplitNode(NodeClass<? extends BeginStateSplitNode> c) |
protected |
BeginStateSplitNode(NodeClass<? extends BeginStateSplitNode> c,
Stamp stamp) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
hasSideEffect()
A begin node has no 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. |
anchored, generate, getBlockNodes, guards, prepareDelete, prepareDelete, prevBegin, proxies, removeProxies, simplify, verifyasNode, next, setNextasConstant, 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, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitasNodestatesasNodeasNodepublic static final NodeClass<BeginStateSplitNode> TYPE
protected FrameState stateAfter
protected BeginStateSplitNode(NodeClass<? extends BeginStateSplitNode> c)
protected BeginStateSplitNode(NodeClass<? extends BeginStateSplitNode> c, Stamp stamp)
public FrameState stateAfter()
StateSplitFrameState corresponding to the state of the JVM after execution of this
node.stateAfter in interface StateSplitpublic void setStateAfter(FrameState x)
StateSplitFrameState corresponding to the state of the JVM after execution of this
node.setStateAfter in interface StateSplitpublic boolean hasSideEffect()
hasSideEffect in interface StateSplit