public final class JavaWriteNode extends AbstractWriteNode implements Lowerable, StateSplit, MemoryAccess, MemoryCheckpoint.Single
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
MemoryCheckpoint.Multi, MemoryCheckpoint.Single, MemoryCheckpoint.TypeAssertion
HeapAccess.BarrierType
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
protected boolean |
compressible |
static NodeClass<JavaWriteNode> |
TYPE |
protected Kind |
writeKind |
initialization
barrierType, guard, location, nullCheck
stateBefore
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
JavaWriteNode(Kind writeKind,
AddressNode address,
LocationIdentity location,
ValueNode value,
HeapAccess.BarrierType barrierType,
boolean compressible,
boolean initialization) |
Modifier and Type | Method and Description |
---|---|
boolean |
canNullCheck() |
Kind |
getWriteKind() |
boolean |
isCompressible() |
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
getLastLocationAccess, hasSideEffect, isAllowedUsageType, isInitialization, setLastLocationAccess, setStateAfter, stateAfter, value
canDeoptimize, getAddress, getBarrierType, getGuard, getLocationIdentity, getNullCheck, setAddress, setGuard, setNullCheck
setStateBefore, stateBefore
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, 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
asNode, hasSideEffect, setStateAfter, stateAfter
states
getLastLocationAccess, getLocationIdentity, setLastLocationAccess
getLocationIdentity
asNode
asNode
public static final NodeClass<JavaWriteNode> TYPE
protected final boolean compressible
public JavaWriteNode(Kind writeKind, AddressNode address, LocationIdentity location, ValueNode value, HeapAccess.BarrierType barrierType, boolean compressible, boolean initialization)
public void lower(LoweringTool tool)
Lowerable
public boolean canNullCheck()
canNullCheck
in interface Access
public Kind getWriteKind()
public boolean isCompressible()