public class org.graalvm.compiler.nodes.type.StampTool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.type.StampTool
  super_class: java.lang.Object
{
  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 46
            ldc Lorg/graalvm/compiler/nodes/type/StampTool;
            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.type.StampTool.$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.type.StampTool this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.nodes.type.StampTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/type/StampTool;

  public static org.graalvm.compiler.core.common.type.Stamp meet(java.lang.Iterable<? extends org.graalvm.compiler.nodes.ValueNode>);
    descriptor: (Ljava/lang/Iterable;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Iterable values
         0: .line 49
            aload 0 /* values */
            aconst_null
            invokestatic org.graalvm.compiler.nodes.type.StampTool.meetOrNull:(Ljava/lang/Iterable;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 1 /* stamp */
        start local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
         1: .line 50
            aload 1 /* stamp */
            ifnonnull 3
         2: .line 51
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forVoid:()Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
         3: .line 53
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 1 /* stamp */
            areturn
        end local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 0 // java.lang.Iterable values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  values  Ljava/lang/Iterable<+Lorg/graalvm/compiler/nodes/ValueNode;>;
            1    4     1   stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    Signature: (Ljava/lang/Iterable<+Lorg/graalvm/compiler/nodes/ValueNode;>;)Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
        Name  Flags
      values  

  public static org.graalvm.compiler.core.common.type.Stamp meetOrNull(java.lang.Iterable<? extends org.graalvm.compiler.nodes.ValueNode>, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljava/lang/Iterable;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.Iterable values
        start local 1 // org.graalvm.compiler.nodes.ValueNode selfValue
         0: .line 61
            aload 0 /* values */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* iterator */
        start local 2 // java.util.Iterator iterator
         1: .line 62
            aconst_null
            astore 3 /* stamp */
        start local 3 // org.graalvm.compiler.core.common.type.Stamp stamp
         2: .line 63
            goto 9
         3: .line 64
      StackMap locals: java.util.Iterator org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 4 /* nextValue */
        start local 4 // org.graalvm.compiler.nodes.ValueNode nextValue
         4: .line 65
            aload 4 /* nextValue */
            aload 1 /* selfValue */
            if_acmpeq 9
         5: .line 66
            aload 3 /* stamp */
            ifnonnull 8
         6: .line 67
            aload 4 /* nextValue */
            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;
            astore 3 /* stamp */
         7: .line 68
            goto 9
         8: .line 69
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 3 /* stamp */
            aload 4 /* nextValue */
            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;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.meet:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 3 /* stamp */
        end local 4 // org.graalvm.compiler.nodes.ValueNode nextValue
         9: .line 63
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 73
            aload 3 /* stamp */
            areturn
        end local 3 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 2 // java.util.Iterator iterator
        end local 1 // org.graalvm.compiler.nodes.ValueNode selfValue
        end local 0 // java.lang.Iterable values
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0     values  Ljava/lang/Iterable<+Lorg/graalvm/compiler/nodes/ValueNode;>;
            0   11     1  selfValue  Lorg/graalvm/compiler/nodes/ValueNode;
            1   11     2   iterator  Ljava/util/Iterator<+Lorg/graalvm/compiler/nodes/ValueNode;>;
            2   11     3      stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            4    9     4  nextValue  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Ljava/lang/Iterable<+Lorg/graalvm/compiler/nodes/ValueNode;>;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
           Name  Flags
      values     
      selfValue  

  public static org.graalvm.compiler.core.common.type.Stamp unsignedCompare(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: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 1 // org.graalvm.compiler.core.common.type.Stamp stamp2
         0: .line 82
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 2 /* x */
        start local 2 // org.graalvm.compiler.core.common.type.IntegerStamp x
         1: .line 83
            aload 1 /* stamp2 */
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 3 /* y */
        start local 3 // org.graalvm.compiler.core.common.type.IntegerStamp y
         2: .line 84
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isUnrestricted:()Z
            ifeq 4
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isUnrestricted:()Z
            ifeq 4
         3: .line 86
            aconst_null
            areturn
         4: .line 89
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp
      StackMap stack:
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lcmp
            ifne 12
         5: .line 90
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isPositive:()Z
            ifeq 11
         6: .line 91
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            iconst_1
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            ishl
            iconst_1
            isub
            i2l
            lcmp
            ifne 8
         7: .line 93
            aconst_null
            areturn
         8: .line 95
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lcmp
            ifgt 10
         9: .line 97
            aconst_null
            areturn
        10: .line 101
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            aload 2 /* x */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lconst_1
            ladd
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
        11: .line 103
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        12: .line 106
      StackMap locals:
      StackMap stack:
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lcmp
            ifne 14
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isStrictlyPositive:()Z
            ifeq 14
        13: .line 108
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            lconst_0
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lconst_1
            lsub
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
        14: .line 110
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.graalvm.compiler.core.common.type.IntegerStamp y
        end local 2 // org.graalvm.compiler.core.common.type.IntegerStamp x
        end local 1 // org.graalvm.compiler.core.common.type.Stamp stamp2
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0   stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   15     1  stamp2  Lorg/graalvm/compiler/core/common/type/Stamp;
            1   15     2       x  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            2   15     3       y  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
    MethodParameters:
        Name  Flags
      stamp   
      stamp2  

  public static org.graalvm.compiler.core.common.type.Stamp stampForLeadingZeros(org.graalvm.compiler.core.common.type.IntegerStamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/IntegerStamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.IntegerStamp valueStamp
         0: .line 114
            aload 0 /* valueStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            lstore 1 /* mask */
        start local 1 // long mask
         1: .line 116
            lload 1 /* mask */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            istore 3 /* adjust */
        start local 3 // int adjust
         2: .line 117
            getstatic org.graalvm.compiler.nodes.type.StampTool.$assertionsDisabled:Z
            ifne 3
            iload 3 /* adjust */
            ifeq 3
            iload 3 /* adjust */
            bipush 32
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 118
      StackMap locals: long int
      StackMap stack:
            aload 0 /* valueStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upMask:()J
            lload 1 /* mask */
            land
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            iload 3 /* adjust */
            isub
            istore 4 /* min */
        start local 4 // int min
         4: .line 119
            aload 0 /* valueStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.downMask:()J
            lload 1 /* mask */
            land
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            iload 3 /* adjust */
            isub
            istore 5 /* max */
        start local 5 // int max
         5: .line 120
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            iload 4 /* min */
            i2l
            iload 5 /* max */
            i2l
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(Ljdk/vm/ci/meta/JavaKind;JJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
        end local 5 // int max
        end local 4 // int min
        end local 3 // int adjust
        end local 1 // long mask
        end local 0 // org.graalvm.compiler.core.common.type.IntegerStamp valueStamp
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  valueStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            1    6     1        mask  J
            2    6     3      adjust  I
            4    6     4         min  I
            5    6     5         max  I
    MethodParameters:
            Name  Flags
      valueStamp  

  public static org.graalvm.compiler.core.common.type.Stamp stampForTrailingZeros(org.graalvm.compiler.core.common.type.IntegerStamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/IntegerStamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.IntegerStamp valueStamp
         0: .line 124
            aload 0 /* valueStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            lstore 1 /* mask */
        start local 1 // long mask
         1: .line 125
            aload 0 /* valueStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upMask:()J
            lload 1 /* mask */
            land
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            istore 3 /* min */
        start local 3 // int min
         2: .line 126
            aload 0 /* valueStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.downMask:()J
            lload 1 /* mask */
            land
            invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
            istore 4 /* max */
        start local 4 // int max
         3: .line 127
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            iload 3 /* min */
            i2l
            iload 4 /* max */
            i2l
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(Ljdk/vm/ci/meta/JavaKind;JJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
        end local 4 // int max
        end local 3 // int min
        end local 1 // long mask
        end local 0 // org.graalvm.compiler.core.common.type.IntegerStamp valueStamp
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  valueStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            1    4     1        mask  J
            2    4     3         min  I
            3    4     4         max  I
    MethodParameters:
            Name  Flags
      valueStamp  

  public static boolean isPointerAlwaysNull(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 138
            aload 0 /* node */
            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.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ireturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  node  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      node  

  public static boolean isPointerAlwaysNull(org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
         0: .line 150
            aload 0 /* stamp */
            instanceof org.graalvm.compiler.core.common.type.AbstractPointerStamp
            ifeq 2
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.hasValues:()Z
            ifeq 2
         1: .line 151
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.AbstractPointerStamp
            invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.alwaysNull:()Z
            ireturn
         2: .line 153
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
       Name  Flags
      stamp  

  public static boolean isPointerNonNull(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 164
            aload 0 /* node */
            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.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ireturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  node  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      node  

  public static boolean isPointerNonNull(org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
         0: .line 176
            aload 0 /* stamp */
            instanceof org.graalvm.compiler.core.common.type.AbstractPointerStamp
            ifeq 2
         1: .line 177
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.AbstractPointerStamp
            invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.nonNull:()Z
            ireturn
         2: .line 179
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
       Name  Flags
      stamp  

  public static org.graalvm.compiler.core.common.type.TypeReference typeReferenceOrNull(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 190
            aload 0 /* node */
            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.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  node  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      node  

  public static jdk.vm.ci.meta.ResolvedJavaType typeOrNull(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 194
            aload 0 /* node */
            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.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  node  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      node  

  public static jdk.vm.ci.meta.ResolvedJavaType typeOrNull(org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
         0: .line 198
            aload 0 /* stamp */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            astore 1 /* type */
        start local 1 // org.graalvm.compiler.core.common.type.TypeReference type
         1: .line 199
            aload 1 /* type */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.graalvm.compiler.core.common.type.TypeReference
      StackMap stack:
         2: aload 1 /* type */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
         3: areturn
        end local 1 // org.graalvm.compiler.core.common.type.TypeReference type
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            1    4     1   type  Lorg/graalvm/compiler/core/common/type/TypeReference;
    MethodParameters:
       Name  Flags
      stamp  

  public static jdk.vm.ci.meta.ResolvedJavaType typeOrNull(org.graalvm.compiler.core.common.type.Stamp, jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         0: .line 203
            aload 0 /* stamp */
            instanceof org.graalvm.compiler.core.common.type.AbstractObjectStamp
            ifeq 6
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.hasValues:()Z
            ifeq 6
         1: .line 204
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.AbstractObjectStamp
            astore 2 /* abstractObjectStamp */
        start local 2 // org.graalvm.compiler.core.common.type.AbstractObjectStamp abstractObjectStamp
         2: .line 205
            aload 2 /* abstractObjectStamp */
            invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* type */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType type
         3: .line 206
            aload 3 /* type */
            ifnonnull 5
         4: .line 207
            aload 1 /* metaAccess */
            ldc Ljava/lang/Object;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
         5: .line 209
      StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 3 /* type */
            areturn
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 2 // org.graalvm.compiler.core.common.type.AbstractObjectStamp abstractObjectStamp
         6: .line 212
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    7     1           metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            2    6     2  abstractObjectStamp  Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
            3    6     3                 type  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
            Name  Flags
      stamp       
      metaAccess  

  public static jdk.vm.ci.meta.ResolvedJavaType typeOrNull(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         0: .line 216
            aload 0 /* node */
            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 1 /* metaAccess */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        node  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     1  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
    MethodParameters:
            Name  Flags
      node        
      metaAccess  

  public static org.graalvm.compiler.core.common.type.TypeReference typeReferenceOrNull(org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
         0: .line 227
            aload 0 /* stamp */
            instanceof org.graalvm.compiler.core.common.type.AbstractObjectStamp
            ifeq 5
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.hasValues:()Z
            ifeq 5
         1: .line 228
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.AbstractObjectStamp
            astore 1 /* abstractObjectStamp */
        start local 1 // org.graalvm.compiler.core.common.type.AbstractObjectStamp abstractObjectStamp
         2: .line 229
            aload 1 /* abstractObjectStamp */
            invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isExactType:()Z
            ifeq 4
         3: .line 230
            aload 1 /* abstractObjectStamp */
            invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokestatic org.graalvm.compiler.core.common.type.TypeReference.createExactTrusted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            areturn
         4: .line 232
      StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp
      StackMap stack:
            aload 1 /* abstractObjectStamp */
            invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrustedWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            areturn
        end local 1 // org.graalvm.compiler.core.common.type.AbstractObjectStamp abstractObjectStamp
         5: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            2    5     1  abstractObjectStamp  Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
    MethodParameters:
       Name  Flags
      stamp  

  public static boolean isExactType(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 248
            aload 0 /* node */
            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.type.StampTool.isExactType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ireturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  node  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      node  

  public static boolean isExactType(org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
         0: .line 261
            aload 0 /* stamp */
            instanceof org.graalvm.compiler.core.common.type.AbstractObjectStamp
            ifeq 2
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.hasValues:()Z
            ifeq 2
         1: .line 262
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.AbstractObjectStamp
            invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isExactType:()Z
            ireturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
       Name  Flags
      stamp  
}
SourceFile: "StampTool.java"