public final class WordCastNode extends FixedWithNextNode implements LIRLowerable, Canonicalizable
Word.Opcode.FROM_OBJECT
and
Word.Opcode.TO_OBJECT
operations. It has an impact on the pointer maps for the GC, so it must
not be scheduled or optimized away.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Canonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Unary<T extends Node>
Modifier and Type | Field and Description |
---|---|
(package private) ValueNode |
input |
static NodeClass<WordCastNode> |
TYPE |
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
WordCastNode(Stamp stamp,
ValueNode input) |
Modifier and Type | Method and Description |
---|---|
static WordCastNode |
addressToWord(ValueNode input,
Kind wordKind) |
Node |
canonical(CanonicalizerTool tool) |
void |
generate(NodeLIRBuilderTool generator) |
ValueNode |
getInput() |
static WordCastNode |
objectToWord(ValueNode input,
Kind wordKind) |
static WordCastNode |
wordToObject(ValueNode input,
Kind wordKind) |
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<WordCastNode> TYPE
public WordCastNode(Stamp stamp, ValueNode input)
public static WordCastNode wordToObject(ValueNode input, Kind wordKind)
public static WordCastNode objectToWord(ValueNode input, Kind wordKind)
public static WordCastNode addressToWord(ValueNode input, Kind wordKind)
public Node canonical(CanonicalizerTool tool)
canonical
in interface Canonicalizable
public void generate(NodeLIRBuilderTool generator)
generate
in interface LIRLowerable