public abstract class AbstractBeginNode extends FixedWithNextNode implements LIRLowerable, Simplifiable, GuardingNode, AnchoringNode, IterableNodeType
| Modifier and Type | Class and Description |
|---|---|
private class |
AbstractBeginNode.BlockNodeIterator |
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
static NodeClass<AbstractBeginNode> |
TYPE |
nextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c) |
protected |
AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c,
Stamp stamp) |
| Modifier and Type | Method and Description |
|---|---|
NodeIterable<Node> |
anchored() |
private void |
evacuateGuards(FixedNode evacuateFrom) |
void |
generate(NodeLIRBuilderTool gen) |
NodeIterable<FixedNode> |
getBlockNodes() |
NodeIterable<GuardNode> |
guards() |
void |
prepareDelete() |
void |
prepareDelete(FixedNode evacuateFrom) |
static AbstractBeginNode |
prevBegin(FixedNode from) |
NodeIterable<ProxyNode> |
proxies() |
void |
removeProxies() |
void |
simplify(SimplifierTool tool)
Must be overridden by subclasses that implement
Simplifiable. |
boolean |
verify() |
asNode, 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, waitasNodeasNodepublic static final NodeClass<AbstractBeginNode> TYPE
protected AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c)
protected AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c, Stamp stamp)
public void simplify(SimplifierTool tool)
NodeSimplifiable. The implementation in
Node exists to obviate the need to cast a node before invoking
Simplifiable.simplify(SimplifierTool).simplify in interface Simplifiablesimplify in class Nodepublic static AbstractBeginNode prevBegin(FixedNode from)
private void evacuateGuards(FixedNode evacuateFrom)
public void prepareDelete()
public void prepareDelete(FixedNode evacuateFrom)
public void removeProxies()
public void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerablepublic NodeIterable<GuardNode> guards()
public NodeIterable<Node> anchored()
public NodeIterable<ProxyNode> proxies()
public NodeIterable<FixedNode> getBlockNodes()