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 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=10, 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
            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;ICLjava/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
            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;ICLjava/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
            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;ICLjava/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
            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;ICLjava/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
            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;ICLjava/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
            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;ICLjava/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
            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;ICLjava/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
            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;ICLjava/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
            ldc "Object"
            iconst_1
            iconst_0
            aconst_null
            aconst_null
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICLjava/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
            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;ICLjava/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
            ldc "illegal"
            iconst_0
            iconst_0
            aconst_null
            aconst_null
            invokespecial jdk.vm.ci.meta.JavaKind.<init>:(Ljava/lang/String;ICLjava/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 349
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(char, java.lang.String, int, boolean, java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;ICLjava/lang/String;IZLjava/lang/Class;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=9
        start local 0 // jdk.vm.ci.meta.JavaKind this
        start local 3 // char typeChar
        start local 4 // java.lang.String javaName
        start local 5 // int slotCount
        start local 6 // boolean isStackInt
        start local 7 // java.lang.Class primitiveJavaClass
        start local 8 // java.lang.Class boxedJavaClass
         0: .line 75
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
         1: .line 76
            aload 0 /* this */
            iload 3 /* typeChar */
            putfield jdk.vm.ci.meta.JavaKind.typeChar:C
         2: .line 77
            aload 0 /* this */
            aload 4 /* javaName */
            putfield jdk.vm.ci.meta.JavaKind.javaName:Ljava/lang/String;
         3: .line 78
            aload 0 /* this */
            iload 5 /* slotCount */
            putfield jdk.vm.ci.meta.JavaKind.slotCount:I
         4: .line 79
            aload 0 /* this */
            iload 6 /* isStackInt */
            putfield jdk.vm.ci.meta.JavaKind.isStackInt:Z
         5: .line 80
            aload 0 /* this */
            aload 7 /* primitiveJavaClass */
            putfield jdk.vm.ci.meta.JavaKind.primitiveJavaClass:Ljava/lang/Class;
         6: .line 81
            aload 0 /* this */
            aload 8 /* boxedJavaClass */
            putfield jdk.vm.ci.meta.JavaKind.boxedJavaClass:Ljava/lang/Class;
         7: .line 82
            getstatic jdk.vm.ci.meta.JavaKind.$assertionsDisabled:Z
            ifne 8
            aload 7 /* primitiveJavaClass */
            ifnull 8
            aload 4 /* javaName */
            aload 7 /* primitiveJavaClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 83
      StackMap locals: jdk.vm.ci.meta.JavaKind java.lang.String int int java.lang.String int int java.lang.Class java.lang.Class
      StackMap stack:
            return
        end local 8 // java.lang.Class boxedJavaClass
        end local 7 // java.lang.Class primitiveJavaClass
        end local 6 // boolean isStackInt
        end local 5 // int slotCount
        end local 4 // java.lang.String javaName
        end local 3 // char typeChar
        end local 0 // jdk.vm.ci.meta.JavaKind this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Ljdk/vm/ci/meta/JavaKind;
            0    9     3            typeChar  C
            0    9     4            javaName  Ljava/lang/String;
            0    9     5           slotCount  I
            0    9     6          isStackInt  Z
            0    9     7  primitiveJavaClass  Ljava/lang/Class<*>;
            0    9     8      boxedJavaClass  Ljava/lang/Class<*>;
    Signature: (CLjava/lang/String;IZLjava/lang/Class<*>;Ljava/lang/Class<*>;)V
    MethodParameters:
                    Name  Flags
      $enum$name          
      $enum$ordinal       
      typeChar            
      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 90
            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 97
            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 108
            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 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 116
            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 127
            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 136
            aload 0 /* this */
            getfield jdk.vm.ci.meta.JavaKind.isStackInt:Z
            ifeq 2
         1: .line 137
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 139
      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 148
            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 157
            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 166
            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 175
            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 185
            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 186
      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 187
            iload 1 /* first */
            bipush 91
            if_icmpeq 3
            iload 1 /* first */
            bipush 76
            if_icmpne 4
         3: .line 188
      StackMap locals: int
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            areturn
         4: .line 190
      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 200
            iload 0 /* wordSizeInBytes */
            bipush 8
            if_icmpne 2
         1: .line 201
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 203
      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 204
      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 215
            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 217
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            areturn
         3: .line 221
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            areturn
         4: .line 223
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            areturn
         5: .line 225
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            areturn
         6: .line 227
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            areturn
         7: .line 229
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
         8: .line 231
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
         9: .line 233
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            areturn
        10: .line 235
      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 245
            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 246
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            areturn
         2: .line 247
      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 248
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            areturn
         4: .line 249
      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 250
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            areturn
         6: .line 251
      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 252
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            areturn
         8: .line 253
      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 254
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
        10: .line 255
      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 256
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
        12: .line 257
      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 258
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            areturn
        14: .line 259
      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 260
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            areturn
        16: .line 261
      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 262
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            areturn
        18: .line 264
      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 274
            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 283
            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 291
            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 306
            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 316
            aload 0 /* this */
            invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
            ifeq 3
         1: .line 317
            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 318
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         3: .line 320
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            ifnonnull 5
         4: .line 321
            ldc "null"
            areturn
         5: .line 323
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.String
            ifeq 10
         6: .line 324
            aload 1 /* value */
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         7: .line 325
            aload 2 /* s */
            invokevirtual java.lang.String.length:()I
            bipush 50
            if_icmple 9
         8: .line 326
            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 328
      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 330
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof jdk.vm.ci.meta.JavaType
            ifeq 12
        11: .line 331
            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 332
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Enum
            ifeq 14
        13: .line 333
            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 334
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof jdk.vm.ci.meta.JavaKind$FormatWithToString
            ifeq 16
        15: .line 335
            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 336
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Class
            ifeq 18
        17: .line 337
            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 338
      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 339
            aload 1 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        20: .line 340
      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 341
            aload 1 /* value */
            invokestatic jdk.vm.ci.meta.JavaKind.formatArray:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        22: .line 343
      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 352
            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 353
            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 354
      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 355
            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 356
            iconst_5
            iload 2 /* arrayLength */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* length */
        start local 4 // int length
         5: .line 357
            aload 1 /* componentType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            istore 5 /* primitive */
        start local 5 // boolean primitive
         6: .line 358
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 16
         8: .line 359
      StackMap locals: java.lang.Object java.lang.Class int java.lang.StringBuilder int int int
      StackMap stack:
            iload 5 /* primitive */
            ifeq 11
         9: .line 360
            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 361
            goto 13
        11: .line 362
      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 363
            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 365
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 4 /* length */
            iconst_1
            isub
            if_icmpeq 15
        14: .line 366
            aload 3 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 358
      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 369
            iload 2 /* arrayLength */
            iload 4 /* length */
            if_icmpeq 19
        18: .line 370
            aload 3 /* buf */
            ldc ", ..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 372
      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 381
            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 383
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         2: .line 385
      StackMap locals:
      StackMap stack:
            ldc -128
            lreturn
         3: .line 387
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         4: .line 389
      StackMap locals:
      StackMap stack:
            ldc -32768
            lreturn
         5: .line 391
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            lreturn
         6: .line 393
      StackMap locals:
      StackMap stack:
            ldc -9223372036854775808
            lreturn
         7: .line 395
      StackMap locals:
      StackMap stack:
            ldc 1.4E-45
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            i2l
            lreturn
         8: .line 397
      StackMap locals:
      StackMap stack:
            ldc 4.9E-324
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lreturn
         9: .line 399
      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 409
            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 411
      StackMap locals:
      StackMap stack:
            lconst_1
            lreturn
         2: .line 413
      StackMap locals:
      StackMap stack:
            ldc 127
            lreturn
         3: .line 415
      StackMap locals:
      StackMap stack:
            ldc 65535
            lreturn
         4: .line 417
      StackMap locals:
      StackMap stack:
            ldc 32767
            lreturn
         5: .line 419
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            lreturn
         6: .line 421
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            lreturn
         7: .line 423
      StackMap locals:
      StackMap stack:
            ldc 3.4028235E38
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            i2l
            lreturn
         8: .line 425
      StackMap locals:
      StackMap stack:
            ldc 1.7976931348623157E308
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lreturn
         9: .line 427
      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 437
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 438
            iconst_1
            ireturn
         2: .line 440
      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 450
            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 452
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 454
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         3: .line 457
      StackMap locals:
      StackMap stack:
            bipush 16
            ireturn
         4: .line 459
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
         5: .line 461
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
         6: .line 463
      StackMap locals:
      StackMap stack:
            bipush 64
            ireturn
         7: .line 465
      StackMap locals:
      StackMap stack:
            bipush 64
            ireturn
         8: .line 467
      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