public final class org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode extends org.graalvm.compiler.nodes.java.AbstractUnsafeCompareAndSwapNode
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
  super_class: org.graalvm.compiler.nodes.java.AbstractUnsafeCompareAndSwapNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;>;

  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 43
            ldc Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;
            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.java.UnsafeCompareAndExchangeNode.$assertionsDisabled:Z
         3: .line 45
            ldc Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, jdk.internal.vm.compiler.word.LocationIdentity);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode this
        start local 1 // org.graalvm.compiler.nodes.ValueNode object
        start local 2 // org.graalvm.compiler.nodes.ValueNode offset
        start local 3 // org.graalvm.compiler.nodes.ValueNode expected
        start local 4 // org.graalvm.compiler.nodes.ValueNode newValue
        start local 5 // jdk.vm.ci.meta.JavaKind valueKind
        start local 6 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
         0: .line 48
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            aload 3 /* expected */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 4 /* newValue */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.meetInputs:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 1 /* object */
            aload 2 /* offset */
            aload 3 /* expected */
            aload 4 /* newValue */
            aload 5 /* valueKind */
            aload 6 /* locationIdentity */
            invokespecial org.graalvm.compiler.nodes.java.AbstractUnsafeCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
         1: .line 49
            return
        end local 6 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
        end local 5 // jdk.vm.ci.meta.JavaKind valueKind
        end local 4 // org.graalvm.compiler.nodes.ValueNode newValue
        end local 3 // org.graalvm.compiler.nodes.ValueNode expected
        end local 2 // org.graalvm.compiler.nodes.ValueNode offset
        end local 1 // org.graalvm.compiler.nodes.ValueNode object
        end local 0 // org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;
            0    2     1            object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     2            offset  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     3          expected  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     4          newValue  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     5         valueKind  Ljdk/vm/ci/meta/JavaKind;
            0    2     6  locationIdentity  Ljdk/internal/vm/compiler/word/LocationIdentity;
    MethodParameters:
                  Name  Flags
      object            
      offset            
      expected          
      newValue          
      valueKind         
      locationIdentity  

  private static org.graalvm.compiler.core.common.type.Stamp meetInputs(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.common.type.Stamp expected
        start local 1 // org.graalvm.compiler.core.common.type.Stamp newValue
         0: .line 52
            getstatic org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* expected */
            aload 1 /* newValue */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* expected */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 1 /* newValue */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.meet:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 1 // org.graalvm.compiler.core.common.type.Stamp newValue
        end local 0 // org.graalvm.compiler.core.common.type.Stamp expected
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  expected  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    2     1  newValue  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
          Name  Flags
      expected  
      newValue  

  protected void finishVirtualize(org.graalvm.compiler.nodes.spi.VirtualizerTool, org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode this
        start local 1 // org.graalvm.compiler.nodes.spi.VirtualizerTool tool
        start local 2 // org.graalvm.compiler.nodes.LogicNode equalsNode
        start local 3 // org.graalvm.compiler.nodes.ValueNode currentValue
         0: .line 58
            aload 1 /* tool */
            aload 3 /* currentValue */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.replaceWith:(Lorg/graalvm/compiler/nodes/ValueNode;)V
         1: .line 59
            return
        end local 3 // org.graalvm.compiler.nodes.ValueNode currentValue
        end local 2 // org.graalvm.compiler.nodes.LogicNode equalsNode
        end local 1 // org.graalvm.compiler.nodes.spi.VirtualizerTool tool
        end local 0 // org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;
            0    2     1          tool  Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;
            0    2     2    equalsNode  Lorg/graalvm/compiler/nodes/LogicNode;
            0    2     3  currentValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      tool          
      equalsNode    
      currentValue  
}
SourceFile: "UnsafeCompareAndExchangeNode.java"
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo()