public final class G1PreWriteBarrier extends ObjectWriteBarrier implements DeoptimizingNode.DeoptBefore
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
protected boolean |
doLoad |
protected boolean |
nullCheck |
(package private) FrameState |
stateBefore |
static NodeClass<G1PreWriteBarrier> |
TYPE |
address, precise, value
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
G1PreWriteBarrier(AddressNode address,
ValueNode expectedObject,
boolean doLoad,
boolean nullCheck) |
Modifier and Type | Method and Description |
---|---|
boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
boolean |
doLoad() |
ValueNode |
getExpectedObject() |
boolean |
getNullCheck() |
void |
setStateBefore(FrameState state)
Sets the
FrameState describing the program state before the execution of this
node. |
FrameState |
stateBefore() |
getAddress, getValue, usePrecise
lower
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
states
asNode
public static final NodeClass<G1PreWriteBarrier> TYPE
FrameState stateBefore
protected final boolean nullCheck
protected final boolean doLoad
public G1PreWriteBarrier(AddressNode address, ValueNode expectedObject, boolean doLoad, boolean nullCheck)
public ValueNode getExpectedObject()
public boolean doLoad()
public boolean getNullCheck()
public boolean canDeoptimize()
DeoptimizingNode
canDeoptimize
in interface DeoptimizingNode
public FrameState stateBefore()
stateBefore
in interface DeoptimizingNode.DeoptBefore
public void setStateBefore(FrameState state)
DeoptimizingNode.DeoptBefore
FrameState
describing the program state before the execution of this
node.setStateBefore
in interface DeoptimizingNode.DeoptBefore