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, value
next
NODE_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, 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
public static final NodeClass<G1ReferentFieldReadBarrier> TYPE
protected final boolean doLoad
public G1ReferentFieldReadBarrier(AddressNode address, ValueNode expectedObject, boolean doLoad)
public ValueNode getExpectedObject()
public boolean doLoad()