public final class ObjectEqualsNode extends PointerEqualsNode implements Virtualizable
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 |
---|---|
static NodeClass<ObjectEqualsNode> |
TYPE |
condition, unorderedIsTrue
x, y
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
ObjectEqualsNode(ValueNode x,
ValueNode y) |
Modifier and Type | Method and Description |
---|---|
protected ValueNode |
canonicalizeSymmetricConstant(CanonicalizerTool tool,
Constant constant,
ValueNode nonConstant,
boolean mirrored) |
static LogicNode |
create(ValueNode x,
ValueNode y,
ConstantReflectionProvider constantReflection) |
protected CompareNode |
duplicateModified(ValueNode newX,
ValueNode newY) |
void |
virtualize(VirtualizerTool tool)
A node class can implement this method to convey information about what its effect would be
if some of its inputs were virtualized.
|
private void |
virtualizeNonVirtualComparison(VirtualObjectNode virtual,
ValueNode other,
VirtualizerTool tool) |
canonical, create, findSynonym, getSucceedingStampForX, getSucceedingStampForY, tryFold
condition, createCompareNode, createCompareNode, optimizeNormalizeCmp, tryConstantFold, unorderedIsTrue
generate, getX, getY, maybeCommuteInputs, verify
and, and, isContradiction, isTautology, or, or
asNode
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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
maybeCommuteInputs
canonical, getX, getY
public static final NodeClass<ObjectEqualsNode> TYPE
public ObjectEqualsNode(ValueNode x, ValueNode y)
public static LogicNode create(ValueNode x, ValueNode y, ConstantReflectionProvider constantReflection)
protected ValueNode canonicalizeSymmetricConstant(CanonicalizerTool tool, Constant constant, ValueNode nonConstant, boolean mirrored)
canonicalizeSymmetricConstant
in class CompareNode
private void virtualizeNonVirtualComparison(VirtualObjectNode virtual, ValueNode other, VirtualizerTool tool)
public void virtualize(VirtualizerTool tool)
Virtualizable
virtualize
in interface Virtualizable
tool
- the tool used to describe the effects of this nodeprotected CompareNode duplicateModified(ValueNode newX, ValueNode newY)
duplicateModified
in class PointerEqualsNode