public class org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp extends org.graalvm.compiler.nodes.calc.CompareNode$CompareOp
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp
  super_class: org.graalvm.compiler.nodes.calc.CompareNode$CompareOp
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 84
            ldc Lorg/graalvm/compiler/nodes/calc/PointerEqualsNode;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp this
         0: .line 84
            aload 0 /* this */
            invokespecial org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.<init>:()V
            return
        end local 0 // org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/calc/PointerEqualsNode$PointerEqualsOp;

  private static boolean isAlwaysFailingVirtualDispatchTest(org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 1 // org.graalvm.compiler.nodes.ValueNode forX
        start local 2 // org.graalvm.compiler.nodes.ValueNode forY
         0: .line 92
            aload 2 /* forY */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 13
         1: .line 93
            aload 1 /* forX */
            instanceof org.graalvm.compiler.nodes.extended.LoadMethodNode
            ifeq 13
            aload 0 /* condition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 13
         2: .line 94
            aload 1 /* forX */
            checkcast org.graalvm.compiler.nodes.extended.LoadMethodNode
            astore 3 /* lm */
        start local 3 // org.graalvm.compiler.nodes.extended.LoadMethodNode lm
         3: .line 95
            aload 3 /* lm */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getEncoding:()Ljdk/vm/ci/meta/Constant;
            aload 2 /* forY */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
         4: .line 96
            aload 3 /* lm */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
            ifeq 13
         5: .line 97
            aload 3 /* lm */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.extended.LoadHubNode
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* object */
        start local 4 // org.graalvm.compiler.nodes.ValueNode object
         6: .line 98
            aload 4 /* object */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 5 /* type */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType type
         7: .line 99
            aload 3 /* lm */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* declaringClass */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType declaringClass
         8: .line 100
            aload 5 /* type */
            ifnull 13
            aload 5 /* type */
            aload 6 /* declaringClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 13
            aload 6 /* declaringClass */
            aload 5 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 13
         9: .line 101
            aload 5 /* type */
            aload 3 /* lm */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 3 /* lm */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getCallerType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 7 /* override */
        start local 7 // jdk.vm.ci.meta.ResolvedJavaMethod override
        10: .line 102
            aload 7 /* override */
            ifnull 13
            aload 7 /* override */
            aload 3 /* lm */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadMethodNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 13
        11: .line 103
            getstatic org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp.$assertionsDisabled:Z
            ifne 12
            aload 6 /* declaringClass */
            aload 7 /* override */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 104
      StackMap locals: org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.LoadMethodNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // jdk.vm.ci.meta.ResolvedJavaMethod override
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType declaringClass
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 4 // org.graalvm.compiler.nodes.ValueNode object
        end local 3 // org.graalvm.compiler.nodes.extended.LoadMethodNode lm
        13: .line 111
      StackMap locals: org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode forY
        end local 1 // org.graalvm.compiler.nodes.ValueNode forX
        end local 0 // org.graalvm.compiler.core.common.calc.Condition condition
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0       condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   14     1            forX  Lorg/graalvm/compiler/nodes/ValueNode;
            0   14     2            forY  Lorg/graalvm/compiler/nodes/ValueNode;
            3   13     3              lm  Lorg/graalvm/compiler/nodes/extended/LoadMethodNode;
            6   13     4          object  Lorg/graalvm/compiler/nodes/ValueNode;
            7   13     5            type  Ljdk/vm/ci/meta/ResolvedJavaType;
            8   13     6  declaringClass  Ljdk/vm/ci/meta/ResolvedJavaType;
           10   13     7        override  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
           Name  Flags
      condition  
      forX       
      forY       

  public org.graalvm.compiler.nodes.LogicNode canonical(jdk.vm.ci.meta.ConstantReflectionProvider, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.options.OptionValues, java.lang.Integer, org.graalvm.compiler.core.common.calc.Condition, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
    descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=11, args_size=10
        start local 0 // org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp this
        start local 1 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 3 // org.graalvm.compiler.options.OptionValues options
        start local 4 // java.lang.Integer smallestCompareWidth
        start local 5 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 6 // boolean unorderedIsTrue
        start local 7 // org.graalvm.compiler.nodes.ValueNode forX
        start local 8 // org.graalvm.compiler.nodes.ValueNode forY
        start local 9 // org.graalvm.compiler.nodes.NodeView view
         0: .line 117
            aload 7 /* forX */
            aload 8 /* forY */
            aload 9 /* view */
            invokestatic org.graalvm.compiler.nodes.calc.PointerEqualsNode.findSynonym:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 10 /* result */
        start local 10 // org.graalvm.compiler.nodes.LogicNode result
         1: .line 118
            aload 10 /* result */
            ifnull 3
         2: .line 119
            aload 10 /* result */
            areturn
         3: .line 121
      StackMap locals: org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            aload 5 /* condition */
            aload 7 /* forX */
            aload 8 /* forY */
            invokestatic org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp.isAlwaysFailingVirtualDispatchTest:(Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 5
         4: .line 122
            invokestatic org.graalvm.compiler.nodes.LogicConstantNode.contradiction:()Lorg/graalvm/compiler/nodes/LogicConstantNode;
            areturn
         5: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* constantReflection */
            aload 2 /* metaAccess */
            aload 3 /* options */
            aload 4 /* smallestCompareWidth */
            aload 5 /* condition */
            iload 6 /* unorderedIsTrue */
            aload 7 /* forX */
            aload 8 /* forY */
            aload 9 /* view */
            invokespecial org.graalvm.compiler.nodes.calc.CompareNode$CompareOp.canonical:(Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
            areturn
        end local 10 // org.graalvm.compiler.nodes.LogicNode result
        end local 9 // org.graalvm.compiler.nodes.NodeView view
        end local 8 // org.graalvm.compiler.nodes.ValueNode forY
        end local 7 // org.graalvm.compiler.nodes.ValueNode forX
        end local 6 // boolean unorderedIsTrue
        end local 5 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 4 // java.lang.Integer smallestCompareWidth
        end local 3 // org.graalvm.compiler.options.OptionValues options
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 0 // org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Lorg/graalvm/compiler/nodes/calc/PointerEqualsNode$PointerEqualsOp;
            0    6     1    constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    6     2            metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    6     3               options  Lorg/graalvm/compiler/options/OptionValues;
            0    6     4  smallestCompareWidth  Ljava/lang/Integer;
            0    6     5             condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0    6     6       unorderedIsTrue  Z
            0    6     7                  forX  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     8                  forY  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     9                  view  Lorg/graalvm/compiler/nodes/NodeView;
            1    6    10                result  Lorg/graalvm/compiler/nodes/LogicNode;
    MethodParameters:
                      Name  Flags
      constantReflection    
      metaAccess            
      options               
      smallestCompareWidth  
      condition             
      unorderedIsTrue       
      forX                  
      forY                  
      view                  

  protected org.graalvm.compiler.nodes.calc.CompareNode duplicateModified(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, boolean, org.graalvm.compiler.nodes.NodeView);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/calc/CompareNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp this
        start local 1 // org.graalvm.compiler.nodes.ValueNode newX
        start local 2 // org.graalvm.compiler.nodes.ValueNode newY
        start local 3 // boolean unorderedIsTrue
        start local 4 // org.graalvm.compiler.nodes.NodeView view
         0: .line 129
            new org.graalvm.compiler.nodes.calc.PointerEqualsNode
            dup
            aload 1 /* newX */
            aload 2 /* newY */
            invokespecial org.graalvm.compiler.nodes.calc.PointerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            areturn
        end local 4 // org.graalvm.compiler.nodes.NodeView view
        end local 3 // boolean unorderedIsTrue
        end local 2 // org.graalvm.compiler.nodes.ValueNode newY
        end local 1 // org.graalvm.compiler.nodes.ValueNode newX
        end local 0 // org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/graalvm/compiler/nodes/calc/PointerEqualsNode$PointerEqualsOp;
            0    1     1             newX  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     2             newY  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     3  unorderedIsTrue  Z
            0    1     4             view  Lorg/graalvm/compiler/nodes/NodeView;
    MethodParameters:
                 Name  Flags
      newX             
      newY             
      unorderedIsTrue  
      view             

  protected org.graalvm.compiler.nodes.LogicNode duplicateModified(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, boolean, org.graalvm.compiler.nodes.NodeView);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            aload 4
            invokevirtual org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp.duplicateModified:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/calc/CompareNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "PointerEqualsNode.java"
NestHost: org.graalvm.compiler.nodes.calc.PointerEqualsNode
InnerClasses:
  public abstract CompareOp = org.graalvm.compiler.nodes.calc.CompareNode$CompareOp of org.graalvm.compiler.nodes.calc.CompareNode
  public PointerEqualsOp = org.graalvm.compiler.nodes.calc.PointerEqualsNode$PointerEqualsOp of org.graalvm.compiler.nodes.calc.PointerEqualsNode