public final class GetObjectAddressNode extends FixedWithNextNode implements LIRLowerable
get(Object)
and all uses of the returned value must not contain safepoints. This can
only be guaranteed if used in a snippet that is instantiated after frame state assignment.
ComputeObjectAddressNode
should generally be used in preference to this node.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
(package private) ValueNode |
object |
static NodeClass<GetObjectAddressNode> |
TYPE |
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
GetObjectAddressNode(ValueNode obj) |
Modifier and Type | Method and Description |
---|---|
void |
generate(NodeLIRBuilderTool gen) |
static long |
get(Object array) |
boolean |
verify() |
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<GetObjectAddressNode> TYPE
public GetObjectAddressNode(ValueNode obj)
public void generate(NodeLIRBuilderTool gen)
generate
in interface LIRLowerable