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 |
next
NODE_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, 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, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode
asNode
public static final NodeClass<AbstractBeginNode> TYPE
protected AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c)
protected AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c, Stamp stamp)
public void simplify(SimplifierTool tool)
Node
Simplifiable
. The implementation in
Node
exists to obviate the need to cast a node before invoking
Simplifiable.simplify(SimplifierTool)
.simplify
in interface Simplifiable
simplify
in class Node
public 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 LIRLowerable
public NodeIterable<GuardNode> guards()
public NodeIterable<Node> anchored()
public NodeIterable<ProxyNode> proxies()
public NodeIterable<FixedNode> getBlockNodes()