public final class ObjectEqualsNode extends PointerEqualsNode implements Virtualizable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableCanonicalizable.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, unorderedIsTruex, yNODE_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, tryFoldcondition, createCompareNode, createCompareNode, optimizeNormalizeCmp, tryConstantFold, unorderedIsTruegenerate, getX, getY, maybeCommuteInputs, verifyand, and, isContradiction, isTautology, or, orasNodeasConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, 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, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitmaybeCommuteInputscanonical, getX, getYpublic 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 CompareNodeprivate void virtualizeNonVirtualComparison(VirtualObjectNode virtual, ValueNode other, VirtualizerTool tool)
public void virtualize(VirtualizerTool tool)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this nodeprotected CompareNode duplicateModified(ValueNode newX, ValueNode newY)
duplicateModified in class PointerEqualsNode