public class jdk.vm.ci.hotspot.HotSpotMetaAccessProvider implements jdk.vm.ci.meta.MetaAccessProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider
  super_class: java.lang.Object
{
  protected final jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            ldc Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            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.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* runtime */
            putfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
         2: .line 56
            return
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime runtime
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
    MethodParameters:
         Name  Flags
      runtime  

  public jdk.vm.ci.meta.ResolvedJavaType lookupJavaType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.Class clazz
         0: .line 60
            aload 1 /* clazz */
            ifnonnull 2
         1: .line 61
            new java.lang.IllegalArgumentException
            dup
            ldc "Class parameter was null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* clazz */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
       Name  Flags
      clazz  

  public jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupJavaType(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 68
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ifne 1
            aload 1 /* constant */
            instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
            ifne 2
         1: .line 69
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 71
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
            invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.getType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            areturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  constant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      constant  

  public jdk.vm.ci.meta.Signature parseMethodDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/vm/ci/meta/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.String signature
         0: .line 76
            new jdk.vm.ci.hotspot.HotSpotSignature
            dup
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* signature */
            invokespecial jdk.vm.ci.hotspot.HotSpotSignature.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String signature
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     1  signature  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  

  public jdk.vm.ci.meta.ResolvedJavaMethod lookupJavaMethod(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.reflect.Executable reflectionMethod
         0: .line 81
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 1 /* reflectionMethod */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Executable
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.asResolvedJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
            areturn
        end local 1 // java.lang.reflect.Executable reflectionMethod
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     1  reflectionMethod  Ljava/lang/reflect/Executable;
    MethodParameters:
                  Name  Flags
      reflectionMethod  

  public jdk.vm.ci.meta.ResolvedJavaField lookupJavaField(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // java.lang.reflect.Field reflectionField
         0: .line 86
            aload 1 /* reflectionField */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            astore 2 /* fieldHolder */
        start local 2 // java.lang.Class fieldHolder
         1: .line 88
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 2 /* fieldHolder */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.fromClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            astore 3 /* holder */
        start local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaType holder
         2: .line 89
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            ifne 3
            aload 3 /* holder */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            aload 2 /* fieldHolder */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 91
      StackMap locals: java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType
      StackMap stack:
            aload 1 /* reflectionField */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 6
         4: .line 92
            aload 3 /* holder */
            invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 4 /* fields */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaField[] fields
         5: .line 93
            goto 7
        end local 4 // jdk.vm.ci.meta.ResolvedJavaField[] fields
         6: .line 94
      StackMap locals:
      StackMap stack:
            aload 3 /* holder */
            iconst_0
            invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
            astore 4 /* fields */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaField[] fields
         7: .line 96
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reflectionField */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 5 /* fieldType */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType fieldType
         8: .line 97
            aload 4 /* fields */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 14
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField[] jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
         9: aload 9
            iload 7
            aaload
            astore 6 /* field */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaField field
        10: .line 98
            aload 1 /* reflectionField */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            aload 6 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
            aload 6 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            aload 5 /* fieldType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 99
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            ifne 12
            aload 1 /* reflectionField */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            aload 6 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isStatic:()Z
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 100
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField[] jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
            aload 6 /* field */
            areturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaField field
        13: .line 97
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider java.lang.reflect.Field java.lang.Class jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField[] jdk.vm.ci.meta.ResolvedJavaType top int int jdk.vm.ci.meta.ResolvedJavaField[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        14: iload 7
            iload 8
            if_icmplt 9
        15: .line 104
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "unresolved field %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* reflectionField */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType fieldType
        end local 4 // jdk.vm.ci.meta.ResolvedJavaField[] fields
        end local 3 // jdk.vm.ci.hotspot.HotSpotResolvedJavaType holder
        end local 2 // java.lang.Class fieldHolder
        end local 1 // java.lang.reflect.Field reflectionField
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   16     1  reflectionField  Ljava/lang/reflect/Field;
            1   16     2      fieldHolder  Ljava/lang/Class<*>;
            2   16     3           holder  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
            5    6     4           fields  [Ljdk/vm/ci/meta/ResolvedJavaField;
            7   16     4           fields  [Ljdk/vm/ci/meta/ResolvedJavaField;
            8   16     5        fieldType  Ljdk/vm/ci/meta/ResolvedJavaType;
           10   13     6            field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
                 Name  Flags
      reflectionField  

  private static int intMaskRight(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int n
         0: .line 108
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            ifne 1
            iload 0 /* n */
            bipush 32
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 109
      StackMap locals:
      StackMap stack:
            iload 0 /* n */
            bipush 32
            if_icmpne 2
            iconst_m1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
            iload 0 /* n */
            ishl
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     n  I
    MethodParameters:
      Name  Flags
      n     

  public jdk.vm.ci.meta.JavaConstant encodeDeoptActionAndReason(jdk.vm.ci.meta.DeoptimizationAction, jdk.vm.ci.meta.DeoptimizationReason, int);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;I)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.DeoptimizationAction action
        start local 2 // jdk.vm.ci.meta.DeoptimizationReason reason
        start local 3 // int debugId
         0: .line 114
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 4 /* config */
        start local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 115
            aload 0 /* this */
            aload 1 /* action */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptAction:(Ljdk/vm/ci/meta/DeoptimizationAction;)I
            istore 5 /* actionValue */
        start local 5 // int actionValue
         2: .line 116
            aload 0 /* this */
            aload 2 /* reason */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptReason:(Ljdk/vm/ci/meta/DeoptimizationReason;)I
            istore 6 /* reasonValue */
        start local 6 // int reasonValue
         3: .line 117
            iload 3 /* debugId */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            istore 7 /* debugValue */
        start local 7 // int debugValue
         4: .line 119
            iload 7 /* debugValue */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdShift:I
            ishl
            iload 6 /* reasonValue */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonShift:I
            ishl
            ior
            iload 5 /* actionValue */
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionShift:I
            ishl
            ior
            iconst_m1
            ixor
         5: .line 118
            invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
            astore 8 /* c */
        start local 8 // jdk.vm.ci.meta.JavaConstant c
         6: .line 120
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$assertionsDisabled:Z
            ifne 7
            aload 8 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iflt 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 121
      StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaAccessProvider jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason int jdk.vm.ci.hotspot.HotSpotVMConfig int int int jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 8 /* c */
            areturn
        end local 8 // jdk.vm.ci.meta.JavaConstant c
        end local 7 // int debugValue
        end local 6 // int reasonValue
        end local 5 // int actionValue
        end local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 3 // int debugId
        end local 2 // jdk.vm.ci.meta.DeoptimizationReason reason
        end local 1 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    8     1       action  Ljdk/vm/ci/meta/DeoptimizationAction;
            0    8     2       reason  Ljdk/vm/ci/meta/DeoptimizationReason;
            0    8     3      debugId  I
            1    8     4       config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    8     5  actionValue  I
            3    8     6  reasonValue  I
            4    8     7   debugValue  I
            6    8     8            c  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
         Name  Flags
      action   
      reason   
      debugId  

  public jdk.vm.ci.meta.DeoptimizationReason decodeDeoptReason(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationReason;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 126
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 127
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iconst_m1
            ixor
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonShift:I
            ishr
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationReasonBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            istore 3 /* reasonValue */
        start local 3 // int reasonValue
         2: .line 128
            aload 0 /* this */
            iload 3 /* reasonValue */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptReason:(I)Ljdk/vm/ci/meta/DeoptimizationReason;
            astore 4 /* reason */
        start local 4 // jdk.vm.ci.meta.DeoptimizationReason reason
         3: .line 129
            aload 4 /* reason */
            areturn
        end local 4 // jdk.vm.ci.meta.DeoptimizationReason reason
        end local 3 // int reasonValue
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    4     1     constant  Ljdk/vm/ci/meta/JavaConstant;
            1    4     2       config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    4     3  reasonValue  I
            3    4     4       reason  Ljdk/vm/ci/meta/DeoptimizationReason;
    MethodParameters:
          Name  Flags
      constant  

  public jdk.vm.ci.meta.DeoptimizationAction decodeDeoptAction(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/DeoptimizationAction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 134
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 135
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iconst_m1
            ixor
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionShift:I
            ishr
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationActionBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            istore 3 /* actionValue */
        start local 3 // int actionValue
         2: .line 136
            aload 0 /* this */
            iload 3 /* actionValue */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.convertDeoptAction:(I)Ljdk/vm/ci/meta/DeoptimizationAction;
            astore 4 /* action */
        start local 4 // jdk.vm.ci.meta.DeoptimizationAction action
         3: .line 137
            aload 4 /* action */
            areturn
        end local 4 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 3 // int actionValue
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    4     1     constant  Ljdk/vm/ci/meta/JavaConstant;
            1    4     2       config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    4     3  actionValue  I
            3    4     4       action  Ljdk/vm/ci/meta/DeoptimizationAction;
    MethodParameters:
          Name  Flags
      constant  

  public int decodeDebugId(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 142
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 143
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            iconst_m1
            ixor
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdShift:I
            ishr
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptimizationDebugIdBits:I
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.intMaskRight:(I)I
            iand
            ireturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    2     1  constant  Ljdk/vm/ci/meta/JavaConstant;
            1    2     2    config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
          Name  Flags
      constant  

  public jdk.vm.ci.meta.JavaConstant encodeSpeculation(jdk.vm.ci.meta.SpeculationLog$Speculation);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog$Speculation;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.SpeculationLog$Speculation speculation
         0: .line 148
            aload 1 /* speculation */
            invokevirtual jdk.vm.ci.meta.SpeculationLog$Speculation.getReason:()Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
            instanceof jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason
            ifeq 2
         1: .line 149
            getstatic jdk.vm.ci.meta.JavaConstant.LONG_0:Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 1 /* speculation */
            checkcast jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation
            invokevirtual jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation.getEncoding:()Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 1 // jdk.vm.ci.meta.SpeculationLog$Speculation speculation
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    3     1  speculation  Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    MethodParameters:
             Name  Flags
      speculation  

  public jdk.vm.ci.meta.SpeculationLog$Speculation decodeSpeculation(jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.meta.SpeculationLog);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/SpeculationLog;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
        start local 2 // jdk.vm.ci.meta.SpeculationLog speculationLog
         0: .line 156
            aload 1 /* constant */
            getstatic jdk.vm.ci.meta.JavaConstant.LONG_0:Ljdk/vm/ci/meta/PrimitiveConstant;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 157
            getstatic jdk.vm.ci.meta.SpeculationLog.NO_SPECULATION:Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            areturn
         2: .line 159
      StackMap locals:
      StackMap stack:
            aload 2 /* speculationLog */
            ifnonnull 4
         3: .line 160
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "A speculation log is required to decode the speculation denoted by "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* constant */
            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
         4: .line 162
      StackMap locals:
      StackMap stack:
            aload 2 /* speculationLog */
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.SpeculationLog.lookupSpeculation:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            areturn
        end local 2 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    5     1        constant  Ljdk/vm/ci/meta/JavaConstant;
            0    5     2  speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
    MethodParameters:
                Name  Flags
      constant        
      speculationLog  

  public int convertDeoptAction(jdk.vm.ci.meta.DeoptimizationAction);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationAction;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.DeoptimizationAction action
         0: .line 166
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 167
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:()[I
            aload 1 /* action */
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
              default: 7
          }
         2: .line 169
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionNone:I
            ireturn
         3: .line 171
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMaybeRecompile:I
            ireturn
         4: .line 173
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionReinterpret:I
            ireturn
         5: .line 175
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotEntrant:I
            ireturn
         6: .line 177
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotCompilable:I
            ireturn
         7: .line 179
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* action */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    8     1  action  Ljdk/vm/ci/meta/DeoptimizationAction;
            1    8     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      action  

  public jdk.vm.ci.meta.DeoptimizationAction convertDeoptAction(int);
    descriptor: (I)Ljdk/vm/ci/meta/DeoptimizationAction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // int action
         0: .line 184
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 185
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionNone:I
            if_icmpne 3
         2: .line 186
            getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         3: .line 188
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMaybeRecompile:I
            if_icmpne 5
         4: .line 189
            getstatic jdk.vm.ci.meta.DeoptimizationAction.RecompileIfTooManyDeopts:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         5: .line 191
      StackMap locals:
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionReinterpret:I
            if_icmpne 7
         6: .line 192
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         7: .line 194
      StackMap locals:
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotEntrant:I
            if_icmpne 9
         8: .line 195
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
         9: .line 197
      StackMap locals:
      StackMap stack:
            iload 1 /* action */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptActionMakeNotCompilable:I
            if_icmpne 11
        10: .line 198
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateStopCompiling:Ljdk/vm/ci/meta/DeoptimizationAction;
            areturn
        11: .line 200
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* action */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // int action
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   12     1  action  I
            1   12     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      action  

  public int convertDeoptReason(jdk.vm.ci.meta.DeoptimizationReason);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationReason;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.DeoptimizationReason reason
         0: .line 204
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 205
            invokestatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:()[I
            aload 1 /* reason */
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iaload
            tableswitch { // 1 - 16
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
                    7: 8
                    8: 9
                    9: 10
                   10: 11
                   11: 12
                   12: 13
                   13: 14
                   14: 15
                   15: 16
                   16: 17
              default: 18
          }
         2: .line 207
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNone:I
            ireturn
         3: .line 209
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNullCheck:I
            ireturn
         4: .line 211
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonRangeCheck:I
            ireturn
         5: .line 213
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonClassCheck:I
            ireturn
         6: .line 215
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonArrayCheck:I
            ireturn
         7: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnreached0:I
            ireturn
         8: .line 219
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTypeCheckInlining:I
            ireturn
         9: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonOptimizedTypeCheck:I
            ireturn
        10: .line 223
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNotCompiledExceptionHandler:I
            ireturn
        11: .line 225
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnresolved:I
            ireturn
        12: .line 227
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonJsrMismatch:I
            ireturn
        13: .line 229
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonDiv0Check:I
            ireturn
        14: .line 231
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonConstraint:I
            ireturn
        15: .line 233
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonLoopLimitCheck:I
            ireturn
        16: .line 235
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonAliasing:I
            ireturn
        17: .line 237
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTransferToInterpreter:I
            ireturn
        18: .line 239
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* reason */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // jdk.vm.ci.meta.DeoptimizationReason reason
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   19     1  reason  Ljdk/vm/ci/meta/DeoptimizationReason;
            1   19     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      reason  

  public jdk.vm.ci.meta.DeoptimizationReason convertDeoptReason(int);
    descriptor: (I)Ljdk/vm/ci/meta/DeoptimizationReason;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // int reason
         0: .line 244
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 245
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNone:I
            if_icmpne 3
         2: .line 246
            getstatic jdk.vm.ci.meta.DeoptimizationReason.None:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         3: .line 248
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNullCheck:I
            if_icmpne 5
         4: .line 249
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         5: .line 251
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonRangeCheck:I
            if_icmpne 7
         6: .line 252
            getstatic jdk.vm.ci.meta.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         7: .line 254
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonClassCheck:I
            if_icmpne 9
         8: .line 255
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
         9: .line 257
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonArrayCheck:I
            if_icmpne 11
        10: .line 258
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        11: .line 260
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnreached0:I
            if_icmpne 13
        12: .line 261
            getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        13: .line 263
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTypeCheckInlining:I
            if_icmpne 15
        14: .line 264
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TypeCheckedInliningViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        15: .line 266
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonOptimizedTypeCheck:I
            if_icmpne 17
        16: .line 267
            getstatic jdk.vm.ci.meta.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        17: .line 269
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonNotCompiledExceptionHandler:I
            if_icmpne 19
        18: .line 270
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        19: .line 272
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonUnresolved:I
            if_icmpne 21
        20: .line 273
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        21: .line 275
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonJsrMismatch:I
            if_icmpne 23
        22: .line 276
            getstatic jdk.vm.ci.meta.DeoptimizationReason.JavaSubroutineMismatch:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        23: .line 278
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonDiv0Check:I
            if_icmpne 25
        24: .line 279
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ArithmeticException:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        25: .line 281
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonConstraint:I
            if_icmpne 27
        26: .line 282
            getstatic jdk.vm.ci.meta.DeoptimizationReason.RuntimeConstraint:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        27: .line 284
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonLoopLimitCheck:I
            if_icmpne 29
        28: .line 285
            getstatic jdk.vm.ci.meta.DeoptimizationReason.LoopLimitCheck:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        29: .line 287
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonAliasing:I
            if_icmpne 31
        30: .line 288
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Aliasing:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        31: .line 290
      StackMap locals:
      StackMap stack:
            iload 1 /* reason */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.deoptReasonTransferToInterpreter:I
            if_icmpne 33
        32: .line 291
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
            areturn
        33: .line 293
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "%x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* reason */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // int reason
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   34     0    this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   34     1  reason  I
            1   34     2  config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
    MethodParameters:
        Name  Flags
      reason  

  public long getMemorySize(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 298
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 13
         1: .line 299
            aload 0 /* this */
            aload 1 /* constant */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            astore 2 /* lookupJavaType */
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupJavaType
         2: .line 301
            aload 2 /* lookupJavaType */
            ifnonnull 4
         3: .line 302
            lconst_0
            lreturn
         4: .line 304
      StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectType
      StackMap stack:
            aload 2 /* lookupJavaType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.isArray:()Z
            ifeq 12
         5: .line 305
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.readArrayLength:(Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* length */
        start local 3 // int length
         6: .line 306
            aload 2 /* lookupJavaType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 4 /* elementType */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType elementType
         7: .line 307
            aload 4 /* elementType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* elementKind */
        start local 5 // jdk.vm.ci.meta.JavaKind elementKind
         8: .line 308
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 5 /* elementKind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 6 /* headerSize */
        start local 6 // int headerSize
         9: .line 309
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 5 /* elementKind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 7 /* sizeOfElement */
        start local 7 // int sizeOfElement
        10: .line 310
            iload 7 /* sizeOfElement */
            invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
            istore 8 /* log2ElementSize */
        start local 8 // int log2ElementSize
        11: .line 311
            aload 0 /* this */
            iload 3 /* length */
            iload 6 /* headerSize */
            iload 8 /* log2ElementSize */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.computeArrayAllocationSize:(III)I
            i2l
            lreturn
        end local 8 // int log2ElementSize
        end local 7 // int sizeOfElement
        end local 6 // int headerSize
        end local 5 // jdk.vm.ci.meta.JavaKind elementKind
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType elementType
        end local 3 // int length
        12: .line 313
      StackMap locals:
      StackMap stack:
            aload 2 /* lookupJavaType */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.instanceSize:()I
            i2l
            lreturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupJavaType
        13: .line 316
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            i2l
            lreturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0   14     1         constant  Ljdk/vm/ci/meta/JavaConstant;
            2   13     2   lookupJavaType  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            6   12     3           length  I
            7   12     4      elementType  Ljdk/vm/ci/meta/ResolvedJavaType;
            8   12     5      elementKind  Ljdk/vm/ci/meta/JavaKind;
            9   12     6       headerSize  I
           10   12     7    sizeOfElement  I
           11   12     8  log2ElementSize  I
    MethodParameters:
          Name  Flags
      constant  

  public int computeArrayAllocationSize(int, int, int);
    descriptor: (III)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // int length
        start local 2 // int headerSize
        start local 3 // int log2ElementSize
         0: .line 331
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 4 /* config */
        start local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         1: .line 332
            aload 4 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.objectAlignment:I
            istore 5 /* alignment */
        start local 5 // int alignment
         2: .line 333
            iload 1 /* length */
            iload 3 /* log2ElementSize */
            ishl
            iload 2 /* headerSize */
            iadd
            iload 5 /* alignment */
            iconst_1
            isub
            iadd
            istore 6 /* size */
        start local 6 // int size
         3: .line 334
            iload 5 /* alignment */
            iconst_1
            isub
            iconst_m1
            ixor
            istore 7 /* mask */
        start local 7 // int mask
         4: .line 335
            iload 6 /* size */
            iload 7 /* mask */
            iand
            ireturn
        end local 7 // int mask
        end local 6 // int size
        end local 5 // int alignment
        end local 4 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 3 // int log2ElementSize
        end local 2 // int headerSize
        end local 1 // int length
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    5     1           length  I
            0    5     2       headerSize  I
            0    5     3  log2ElementSize  I
            1    5     4           config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            2    5     5        alignment  I
            3    5     6             size  I
            4    5     7             mask  I
    MethodParameters:
                 Name  Flags
      length           
      headerSize       
      log2ElementSize  

  public int getArrayBaseOffset(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 340
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            ireturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     1  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  public int getArrayIndexScale(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 345
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.runtime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
            ireturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     1  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  public jdk.vm.ci.meta.ResolvedJavaType lookupJavaType(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 50
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.DeoptimizationAction.values:()[Ljdk/vm/ci/meta/DeoptimizationAction;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_4
            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.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_3
            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.DeoptimizationAction.InvalidateStopCompiling:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_5
            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.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_1
            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.DeoptimizationAction.RecompileIfTooManyDeopts:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokevirtual jdk.vm.ci.meta.DeoptimizationAction.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationAction:[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

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 50
            getstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.DeoptimizationReason.values:()[Ljdk/vm/ci/meta/DeoptimizationReason;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Aliasing:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 15
            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.DeoptimizationReason.ArithmeticException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 12
            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.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_5
            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.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_3
            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.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_4
            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.DeoptimizationReason.JavaSubroutineMismatch:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.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.DeoptimizationReason.LoopLimitCheck:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 14
            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.DeoptimizationReason.None:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_1
            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.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.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.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            iconst_2
            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.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 8
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.RuntimeConstraint:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 13
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 16
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.TypeCheckedInliningViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 7
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 6
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.ordinal:()I
            bipush 10
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            dup
            putstatic jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$DeoptimizationReason:[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
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
}
SourceFile: "HotSpotMetaAccessProvider.java"
InnerClasses:
  public final HotSpotSpeculation = jdk.vm.ci.hotspot.HotSpotSpeculationLog$HotSpotSpeculation of jdk.vm.ci.hotspot.HotSpotSpeculationLog
  public final NoSpeculationReason = jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason of jdk.vm.ci.meta.SpeculationLog
  public Speculation = jdk.vm.ci.meta.SpeculationLog$Speculation of jdk.vm.ci.meta.SpeculationLog
  public abstract SpeculationReason = jdk.vm.ci.meta.SpeculationLog$SpeculationReason of jdk.vm.ci.meta.SpeculationLog