Class NullCheckNode
- All Implemented Interfaces:
Cloneable
,Formattable
,DeoptimizingNode
,DeoptimizingNode.DeoptBefore
,GuardingNode
,FixedNodeInterface
,FixedWithNextNodeInterface
,LIRLowerable
,NodeWithState
,ValueNodeInterface
public final class NullCheckNode
extends ImplicitNullCheckNode
implements LIRLowerable, GuardingNode
-
Nested Class Summary
Nested classes/interfaces inherited from class jdk.graal.compiler.graph.Node
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectInputChangedCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.InputsChangedCanonicalization, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Nested classes/interfaces inherited from interface jdk.graal.compiler.nodes.DeoptimizingNode
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
-
Field Summary
FieldsFields inherited from class jdk.graal.compiler.nodes.ImplicitNullCheckNode
deoptReasonAndAction, deoptSpeculation
Fields inherited from class jdk.graal.compiler.nodes.DeoptimizingFixedWithNextNode
stateBefore
Fields inherited from class jdk.graal.compiler.nodes.FixedWithNextNode
next
Fields inherited from class jdk.graal.compiler.nodes.ValueNode
EMPTY_ARRAY, stamp
Fields inherited from class jdk.graal.compiler.graph.Node
NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithOnlyInputEdges
-
Constructor Summary
ConstructorsConstructorDescriptionNullCheckNode
(ValueNode object) NullCheckNode
(ValueNode object, jdk.vm.ci.meta.JavaConstant deoptReasonAndAction, jdk.vm.ci.meta.JavaConstant deoptSpeculation) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Determines if this node needs deoptimization information.static NullCheckNode
create
(ValueNode object, jdk.vm.ci.meta.JavaConstant deoptReasonAndAction, jdk.vm.ci.meta.JavaConstant deoptSpeculation) void
generate
(NodeLIRBuilderTool generator) static void
Methods inherited from class jdk.graal.compiler.nodes.ImplicitNullCheckNode
getDeoptReasonAndAction, getDeoptSpeculation, setImplicitDeoptimization
Methods inherited from class jdk.graal.compiler.nodes.DeoptimizingFixedWithNextNode
setStateBefore, stateBefore
Methods inherited from class jdk.graal.compiler.nodes.FixedWithNextNode
asFixedWithNextNode, next, setNext
Methods inherited from class jdk.graal.compiler.nodes.FixedNode
asFixedNode, verifyNode
Methods inherited from class jdk.graal.compiler.nodes.ValueNode
asConstant, asJavaConstant, asNode, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterface
Methods inherited from class jdk.graal.compiler.graph.Node
afterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, dynamicNodeSizeEstimate, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getId, getIdBeforeDeletion, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hasExactlyOneUsageOfType, hashCode, hasMoreThanOneUsage, hasNoUsages, hasUsages, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeDeadUsages, removeUsage, removeUsages, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verify, verify, verifyEdges, verifyInputs, withNodeSourcePosition
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface jdk.graal.compiler.nodes.DeoptimizingNode
validateDeoptFrameStates
Methods inherited from interface jdk.graal.compiler.nodes.DeoptimizingNode.DeoptBefore
canUseAsStateDuring
Methods inherited from interface jdk.graal.compiler.nodes.FixedNodeInterface
asFixedNode
Methods inherited from interface jdk.graal.compiler.nodes.spi.NodeWithState
states
Methods inherited from interface jdk.graal.compiler.nodes.ValueNodeInterface
asNode
-
Field Details
-
TYPE
-
-
Constructor Details
-
NullCheckNode
-
NullCheckNode
public NullCheckNode(ValueNode object, jdk.vm.ci.meta.JavaConstant deoptReasonAndAction, jdk.vm.ci.meta.JavaConstant deoptSpeculation)
-
-
Method Details
-
create
public static NullCheckNode create(ValueNode object, jdk.vm.ci.meta.JavaConstant deoptReasonAndAction, jdk.vm.ci.meta.JavaConstant deoptSpeculation) -
generate
- Specified by:
generate
in interfaceLIRLowerable
-
canDeoptimize
public boolean canDeoptimize()Description copied from interface:DeoptimizingNode
Determines if this node needs deoptimization information.- Specified by:
canDeoptimize
in interfaceDeoptimizingNode
-
nullCheck
-