public final class jdk.vm.ci.meta.JavaKind extends java.lang.Enum<jdk.vm.ci.meta.JavaKind>
  minor version: 0
  major version: 59
  flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
  this_class: jdk.vm.ci.meta.JavaKind
  super_class: java.lang.Enum
{
  public static final jdk.vm.ci.meta.JavaKind Boolean;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Byte;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Short;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Char;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Int;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Float;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Long;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Double;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Object;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Void;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.vm.ci.meta.JavaKind Illegal;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  private final char typeChar;
    descriptor: C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String javaName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isStackInt;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?> primitiveJavaClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final java.lang.Class<?> boxedJavaClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final int slotCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int basicType;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int MAX_FORMAT_ARRAY_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static final jdk.vm.ci.meta.JavaKind[] ENUM$VALUES;
    descriptor: [Ljdk/vm/ci/meta/JavaKind;
    flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=11, locals=0, args_size=0
         0: .line 34
            ldc Ljdk/vm/ci/meta/JavaKind;
            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 jdk.vm.ci.meta.JavaKind.$assertionsDisabled:Z
         3: .line 35
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Boolean"
            iconst_0
         4: .line 36
            bipush 90
            iconst_4
            ldc "boolean"
            iconst_1
            iconst_1
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Boolean;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
         5: .line 38
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Byte"
            iconst_1
         6: .line 39
            bipush 66
            bipush 8
            ldc "byte"
            iconst_1
            iconst_1
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Byte;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
         7: .line 41
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Short"
            iconst_2
         8: .line 42
            bipush 83
            bipush 9
            ldc "short"
            iconst_1
            iconst_1
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Short;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
         9: .line 44
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Char"
            iconst_3
        10: .line 45
            bipush 67
            iconst_5
            ldc "char"
            iconst_1
            iconst_1
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Character;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
        11: .line 47
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Int"
            iconst_4
        12: .line 48
            bipush 73
            bipush 10
            ldc "int"
            iconst_1
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Integer;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
        13: .line 50
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Float"
            iconst_5
        14: .line 51
            bipush 70
            bipush 6
            ldc "float"
            iconst_1
            iconst_0
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Float;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
        15: .line 53
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Long"
            bipush 6
        16: .line 54
            bipush 74
            bipush 11
            ldc "long"
            iconst_2
            iconst_0
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Long;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
        17: .line 56
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Double"
            bipush 7
        18: .line 57
            bipush 68
            bipush 7
            ldc "double"
            iconst_2
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Double;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
        19: .line 59
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Object"
            bipush 8
        20: .line 60
            bipush 65
            bipush 12
            ldc "Object"
            iconst_1
            iconst_0
            aconst_null
            aconst_null
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
        21: .line 62
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Void"
            bipush 9
        22: .line 63
            bipush 86
            bipush 14
            ldc "void"
            iconst_0
            iconst_0
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Void;
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
        23: .line 65
            new jdk.vm.ci.meta.JavaKind
            dup
            ldc "Illegal"
            bipush 10
        24: .line 66
            bipush 45
            bipush 99
            ldc "illegal"
            iconst_0
            iconst_0
            aconst_null
            aconst_null
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
            putstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            bipush 11
            anewarray jdk.vm.ci.meta.JavaKind
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            bipush 7
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            bipush 8
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            bipush 9
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            bipush 10
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            aastore
            putstatic jdk.vm.ci.meta.JavaKind.ENUM$VALUES:[Ljdk/vm/ci/meta/JavaKind;
        25: .line 358
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(char, int, java.lang.String, int, boolean, java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;ICILjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=10
        start local 0 // jdk.vm.ci.meta.JavaKind this
        start local 3 // char typeChar
        start local 4 // int basicType
        start local 5 // java.lang.String javaName
        start local 6 // int slotCount
        start local 7 // boolean isStackInt
        start local 8 // java.lang.Class primitiveJavaClass
        start local 9 // java.lang.Class boxedJavaClass
         0: .line 76
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
         1: .line 77
            aload 0 /* this */
            iload 3 /* typeChar */
            putfield jdk.vm.ci.meta.JavaKind.typeChar:C
         2: .line 78
            aload 0 /* this */
            aload 5 /* javaName */
            putfield jdk.vm.ci.meta.JavaKind.javaName:Ljava/lang/String;
         3: .line 79
            aload 0 /* this */
            iload 6 /* slotCount */
            putfield jdk.vm.ci.meta.JavaKind.slotCount:I
         4: .line 80
            aload 0 /* this */
            iload 7 /* isStackInt */
            putfield jdk.vm.ci.meta.JavaKind.isStackInt:Z
         5: .line 81
            aload 0 /* this */
            aload 8 /* primitiveJavaClass */
            putfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
         6: .line 82
            aload 0 /* this */
            aload 9 /* boxedJavaClass */
            putfield jdk.vm.ci.meta.JavaKind.boxedJavaClass:Ljava/lang/Class;
         7: .line 83
            aload 0 /* this */
            iload 4 /* basicType */
            putfield jdk.vm.ci.meta.JavaKind.basicType:I
         8: .line 84
            getstatic jdk.vm.ci.meta.JavaKind.$assertionsDisabled:Z
            ifne 9
            aload 8 /* primitiveJavaClass */
            ifnull 9
            aload 5 /* javaName */
            aload 8 /* primitiveJavaClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 85
      StackMap locals: jdk.vm.ci.meta.JavaKind java.lang.String int int int java.lang.String int int java.lang.Class java.lang.Class
      StackMap stack:
            return
        end local 9 // java.lang.Class boxedJavaClass
        end local 8 // java.lang.Class primitiveJavaClass
        end local 7 // boolean isStackInt
        end local 6 // int slotCount
        end local 5 // java.lang.String javaName
        end local 4 // int basicType
        end local 3 // char typeChar
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Ljdk/vm/ci/meta/JavaKind;
            0   10     3            typeChar  C
            0   10     4           basicType  I
            0   10     5            javaName  Ljava/lang/String;
            0   10     6           slotCount  I
            0   10     7          isStackInt  Z
            0   10     8  primitiveJavaClass  Ljava/lang/Class<*>;
            0   10     9      boxedJavaClass  Ljava/lang/Class<*>;
    Signature: (CILjava/lang/String;IZLjava/lang/Class<*>;Ljava/lang/Class<*>;)V
    MethodParameters:
                    Name  Flags
      $enum$name          
      $enum$ordinal       
      typeChar            
      basicType           
      javaName            
      slotCount           
      isStackInt          
      primitiveJavaClass  
      boxedJavaClass      

  public int getSlotCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 92
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.slotCount:I
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaKind;

  public boolean needsTwoSlots();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 99
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.slotCount:I
            iconst_2
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/meta/JavaKind;

  public char getTypeChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 110
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.typeChar:C
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaKind;

  public int getBasicType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 117
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.basicType:I
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaKind;

  public java.lang.String getJavaName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 125
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.javaName:Ljava/lang/String;
            areturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaKind;

  public boolean isPrimitive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 136
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/meta/JavaKind;

  public jdk.vm.ci.meta.JavaKind getStackKind();
    descriptor: ()Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 145
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.isStackInt:Z
            ifeq 2
         1: .line 146
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/meta/JavaKind;

  public boolean isNumericInteger();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 157
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.isStackInt:Z
            ifne 1
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/meta/JavaKind;

  public boolean isUnsigned();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 166
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 1
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/meta/JavaKind;

  public boolean isNumericFloat();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 175
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 1
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/meta/JavaKind;

  public boolean isObject();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 184
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/meta/JavaKind;

  public static jdk.vm.ci.meta.JavaKind fromTypeString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String typeString
         0: .line 194
            getstatic jdk.vm.ci.meta.JavaKind.$assertionsDisabled:Z
            ifne 1
            aload 0 /* typeString */
            invokevirtual java.lang.String.length:()I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* typeString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* first */
        start local 1 // char first
         2: .line 196
            iload 1 /* first */
            bipush 91
            if_icmpeq 3
            iload 1 /* first */
            bipush 76
            if_icmpne 4
         3: .line 197
      StackMap locals: int
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            areturn
         4: .line 199
      StackMap locals:
      StackMap stack:
            iload 1 /* first */
            invokestatic jdk.vm.ci.meta.JavaKind.fromPrimitiveOrVoidTypeChar:(C)Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 1 // char first
        end local 0 // java.lang.String typeString
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  typeString  Ljava/lang/String;
            2    5     1       first  C
    MethodParameters:
            Name  Flags
      typeString  

  public static jdk.vm.ci.meta.JavaKind fromWordSize(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int wordSizeInBytes
         0: .line 209
            iload 0 /* wordSizeInBytes */
            bipush 8
            if_icmpne 2
         1: .line 210
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 212
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.$assertionsDisabled:Z
            ifne 3
            iload 0 /* wordSizeInBytes */
            iconst_4
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            ldc "Unsupported word size!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 213
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 0 // int wordSizeInBytes
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0  wordSizeInBytes  I
    MethodParameters:
                 Name  Flags
      wordSizeInBytes  

  public static jdk.vm.ci.meta.JavaKind fromPrimitiveOrVoidTypeChar(char);
    descriptor: (C)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // char ch
         0: .line 224
            iload 0 /* ch */
            lookupswitch { // 9
                   66: 5
                   67: 2
                   68: 4
                   70: 3
                   73: 7
                   74: 8
                   83: 6
                   86: 9
                   90: 1
              default: 10
          }
         1: .line 226
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 228
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            areturn
         3: .line 230
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            areturn
         4: .line 232
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            areturn
         5: .line 234
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            areturn
         6: .line 236
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            areturn
         7: .line 238
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
         8: .line 240
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
         9: .line 242
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            areturn
        10: .line 244
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown primitive or void type character: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  public static jdk.vm.ci.meta.JavaKind fromJavaClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class klass
         0: .line 254
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 2
         1: .line 255
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 4
         3: .line 257
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            areturn
         4: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 6
         5: .line 259
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            areturn
         6: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 8
         7: .line 261
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            areturn
         8: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 10
         9: .line 263
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
        10: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 12
        11: .line 265
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
        12: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 14
        13: .line 267
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            areturn
        14: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 16
        15: .line 269
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            areturn
        16: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            if_acmpne 18
        17: .line 271
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            areturn
        18: .line 273
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 0 // java.lang.Class klass
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0  klass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
       Name  Flags
      klass  

  public java.lang.Class<?> toJavaClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 283
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
            areturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaKind;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.Class<?> toBoxedJavaClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 292
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.boxedJavaClass:Ljava/lang/Class;
            areturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaKind;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 300
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.javaName:Ljava/lang/String;
            areturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaKind;

  private static boolean isToStringSafe(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 315
            aload 0 /* c */
            ldc Ljava/lang/Boolean;
            if_acmpeq 1
            aload 0 /* c */
            ldc Ljava/lang/Byte;
            if_acmpeq 1
            aload 0 /* c */
            ldc Ljava/lang/Character;
            if_acmpeq 1
            aload 0 /* c */
            ldc Ljava/lang/Short;
            if_acmpeq 1
            aload 0 /* c */
            ldc Ljava/lang/Integer;
            if_acmpeq 1
            aload 0 /* c */
            ldc Ljava/lang/Float;
            if_acmpeq 1
            aload 0 /* c */
            ldc Ljava/lang/Long;
            if_acmpeq 1
            aload 0 /* c */
            ldc Ljava/lang/Double;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public java.lang.String format(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.vm.ci.meta.JavaKind this
        start local 1 // java.lang.Object value
         0: .line 325
            aload 0 /* this */
            invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
            ifeq 3
         1: .line 326
            getstatic jdk.vm.ci.meta.JavaKind.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic jdk.vm.ci.meta.JavaKind.isToStringSafe:(Ljava/lang/Class;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 327
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         3: .line 329
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            ifnonnull 5
         4: .line 330
            ldc "null"
            areturn
         5: .line 332
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.String
            ifeq 10
         6: .line 333
            aload 1 /* value */
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         7: .line 334
            aload 2 /* s */
            invokevirtual java.lang.String.length:()I
            bipush 50
            if_icmple 9
         8: .line 335
            new java.lang.StringBuilder
            dup
            ldc "String:\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* s */
            iconst_0
            bipush 30
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "...\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         9: .line 337
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "String:\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String s
        10: .line 339
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof jdk.vm.ci.meta.JavaType
            ifeq 12
        11: .line 340
            new java.lang.StringBuilder
            dup
            ldc "JavaType:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            checkcast jdk.vm.ci.meta.JavaType
            invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        12: .line 341
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Enum
            ifeq 14
        13: .line 342
            new java.lang.StringBuilder
            dup
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_1
            invokestatic jdk.vm.ci.meta.MetaUtil.getSimpleName:(Ljava/lang/Class;Z)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* value */
            checkcast java.lang.Enum
            invokevirtual java.lang.Enum.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        14: .line 343
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof jdk.vm.ci.meta.JavaKind$FormatWithToString
            ifeq 16
        15: .line 344
            new java.lang.StringBuilder
            dup
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_1
            invokestatic jdk.vm.ci.meta.MetaUtil.getSimpleName:(Ljava/lang/Class;Z)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        16: .line 345
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Class
            ifeq 18
        17: .line 346
            new java.lang.StringBuilder
            dup
            ldc "Class:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        18: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic jdk.vm.ci.meta.JavaKind.isToStringSafe:(Ljava/lang/Class;)Z
            ifeq 20
        19: .line 348
            aload 1 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        20: .line 349
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 22
        21: .line 350
            aload 1 /* value */
            invokestatic jdk.vm.ci.meta.JavaKind.formatArray:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        22: .line 352
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_1
            invokestatic jdk.vm.ci.meta.MetaUtil.getSimpleName:(Ljava/lang/Class;Z)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* value */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   23     0   this  Ljdk/vm/ci/meta/JavaKind;
            0   23     1  value  Ljava/lang/Object;
            7   10     2      s  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  private static java.lang.String formatArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.Object array
         0: .line 361
            aload 0 /* array */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 1 /* componentType */
        start local 1 // java.lang.Class componentType
         1: .line 362
            getstatic jdk.vm.ci.meta.JavaKind.$assertionsDisabled:Z
            ifne 2
            aload 1 /* componentType */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 363
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* array */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 2 /* arrayLength */
        start local 2 // int arrayLength
         3: .line 364
            new java.lang.StringBuilder
            dup
            aload 1 /* componentType */
            iconst_1
            invokestatic jdk.vm.ci.meta.MetaUtil.getSimpleName:(Ljava/lang/Class;Z)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 2 /* arrayLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         4: .line 365
            iconst_5
            iload 2 /* arrayLength */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* length */
        start local 4 // int length
         5: .line 366
            aload 1 /* componentType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            istore 5 /* primitive */
        start local 5 // boolean primitive
         6: .line 367
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 16
         8: .line 368
      StackMap locals: java.lang.Object java.lang.Class int java.lang.StringBuilder int int int
      StackMap stack:
            iload 5 /* primitive */
            ifeq 11
         9: .line 369
            aload 3 /* buf */
            aload 0 /* array */
            iload 6 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        10: .line 370
            goto 13
        11: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            checkcast java.lang.Object[]
            iload 6 /* i */
            aaload
            astore 7 /* o */
        start local 7 // java.lang.Object o
        12: .line 372
            aload 3 /* buf */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 7 /* o */
            invokevirtual jdk.vm.ci.meta.JavaKind.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.lang.Object o
        13: .line 374
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 4 /* length */
            iconst_1
            isub
            if_icmpeq 15
        14: .line 375
            aload 3 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 367
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 6 // int i
        17: .line 378
            iload 2 /* arrayLength */
            iload 4 /* length */
            if_icmpeq 19
        18: .line 379
            aload 3 /* buf */
            ldc ", ..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 381
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // boolean primitive
        end local 4 // int length
        end local 3 // java.lang.StringBuilder buf
        end local 2 // int arrayLength
        end local 1 // java.lang.Class componentType
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0          array  Ljava/lang/Object;
            1   20     1  componentType  Ljava/lang/Class<*>;
            3   20     2    arrayLength  I
            4   20     3            buf  Ljava/lang/StringBuilder;
            5   20     4         length  I
            6   20     5      primitive  Z
            7   17     6              i  I
           12   13     7              o  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  public long getMinValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 390
            invokestatic jdk.vm.ci.meta.JavaKind.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* this */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 1
                    2: 2
                    3: 4
                    4: 3
                    5: 5
                    6: 7
                    7: 6
                    8: 8
              default: 9
          }
         1: .line 392
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         2: .line 394
      StackMap locals:
      StackMap stack:
            ldc -128
            lreturn
         3: .line 396
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         4: .line 398
      StackMap locals:
      StackMap stack:
            ldc -32768
            lreturn
         5: .line 400
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            lreturn
         6: .line 402
      StackMap locals:
      StackMap stack:
            ldc -9223372036854775808
            lreturn
         7: .line 404
      StackMap locals:
      StackMap stack:
            ldc 1.4E-45
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            i2l
            lreturn
         8: .line 406
      StackMap locals:
      StackMap stack:
            ldc 4.9E-324
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lreturn
         9: .line 408
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal call to minValue on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/vm/ci/meta/JavaKind;

  public long getMaxValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 418
            invokestatic jdk.vm.ci.meta.JavaKind.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* this */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 1
                    2: 2
                    3: 4
                    4: 3
                    5: 5
                    6: 7
                    7: 6
                    8: 8
              default: 9
          }
         1: .line 420
      StackMap locals:
      StackMap stack:
            lconst_1
            lreturn
         2: .line 422
      StackMap locals:
      StackMap stack:
            ldc 127
            lreturn
         3: .line 424
      StackMap locals:
      StackMap stack:
            ldc 65535
            lreturn
         4: .line 426
      StackMap locals:
      StackMap stack:
            ldc 32767
            lreturn
         5: .line 428
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            lreturn
         6: .line 430
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            lreturn
         7: .line 432
      StackMap locals:
      StackMap stack:
            ldc 3.4028235E38
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            i2l
            lreturn
         8: .line 434
      StackMap locals:
      StackMap stack:
            ldc 1.7976931348623157E308
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lreturn
         9: .line 436
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal call to maxValue on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/vm/ci/meta/JavaKind;

  public int getByteCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 446
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 447
            iconst_1
            ireturn
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            iconst_3
            ishr
            ireturn
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/vm/ci/meta/JavaKind;

  public int getBitCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind this
         0: .line 459
            invokestatic jdk.vm.ci.meta.JavaKind.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* this */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 1
                    2: 2
                    3: 3
                    4: 3
                    5: 5
                    6: 4
                    7: 7
                    8: 6
              default: 8
          }
         1: .line 461
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 463
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         3: .line 466
      StackMap locals:
      StackMap stack:
            bipush 16
            ireturn
         4: .line 468
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
         5: .line 470
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
         6: .line 472
      StackMap locals:
      StackMap stack:
            bipush 64
            ireturn
         7: .line 474
      StackMap locals:
      StackMap stack:
            bipush 64
            ireturn
         8: .line 476
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal call to bits on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/vm/ci/meta/JavaKind;

  public static jdk.vm.ci.meta.JavaKind[] values();
    descriptor: ()[Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 1
            getstatic jdk.vm.ci.meta.JavaKind.ENUM$VALUES:[Ljdk/vm/ci/meta/JavaKind;
            dup
            astore 0
            iconst_0
            aload 0
            arraylength
            dup
            istore 1
            anewarray jdk.vm.ci.meta.JavaKind
            dup
            astore 2
            iconst_0
            iload 1
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            aload 2
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.vm.ci.meta.JavaKind valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            ldc Ljdk/vm/ci/meta/JavaKind;
            aload 0
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast jdk.vm.ci.meta.JavaKind
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      name  

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 34
            getstatic jdk.vm.ci.meta.JavaKind.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic jdk.vm.ci.meta.JavaKind.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
Signature: Ljava/lang/Enum<Ljdk/vm/ci/meta/JavaKind;>;
SourceFile: "JavaKind.java"
NestMembers:
  jdk.vm.ci.meta.JavaKind$FormatWithToString
InnerClasses:
  public abstract FormatWithToString = jdk.vm.ci.meta.JavaKind$FormatWithToString of jdk.vm.ci.meta.JavaKind