public final class G1ReferentFieldReadBarrier extends ObjectWriteBarrier
G1ReferentFieldReadBarrier is added when a read access is performed to the referent
field of a Reference object (through a LoadFieldNode or an
UnsafeLoadNode). The return value of the read is passed to the snippet implementing the
read barrier and consequently is added to the SATB queue if the concurrent marker is enabled.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
protected boolean |
doLoad |
static NodeClass<G1ReferentFieldReadBarrier> |
TYPE |
address, precise, valuenextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
G1ReferentFieldReadBarrier(AddressNode address,
ValueNode expectedObject,
boolean doLoad) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
doLoad() |
ValueNode |
getExpectedObject() |
getAddress, getValue, usePreciselowerasNode, 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, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputspublic static final NodeClass<G1ReferentFieldReadBarrier> TYPE
protected final boolean doLoad
public G1ReferentFieldReadBarrier(AddressNode address, ValueNode expectedObject, boolean doLoad)
public ValueNode getExpectedObject()
public boolean doLoad()